0

我使用FUSE文件系統fuse.py,並計劃使用內存緩存來存儲文件的大小。我想擁有少量的memcache空間,以便知道正在存儲哪些文件以及正在替換哪些文件。限制內存緩存存儲

據我所知,內存緩存具有存儲該特定大小的數據板坯。但是有可能只有一塊平板?例如,有一個5MB的平板,每個頁面大小爲1mb,這樣我最多可以存儲5個文件。如果我需要添加第6個,LRU策略將刪除文件併爲其創建空間。

基本上我想使用內存緩存用作文件緩存和文件一旦從memcache中刪除,存儲在數據庫服務器的變化。

+2

這是不可能的,因爲緩存可以在任何時間過期。 –

+1

另外,appengine memcache服務中不存在管理頁面大小的功能。爲什麼你想爲db實體添加另一個圖層(保險絲)是很難理解的。此外,如果您使用ndb,那麼當您使用'key.get()'時,緩存層將爲您完成 –

回答

0

不要根據這是如何或其他系統可能來實現對系統的實施的假設;唯一可以依賴的是發佈的API文檔中的內容,在這種情況下,Google App Engine在條目到期時不會提供回調(當條目達到TTL或由於LRU而被替換時,該條目將到期),也不會將其備份到其他存儲系統。

你不應該使用持久存儲內存緩存,如文件系統;請考慮下面的系統之一,而不是持久存儲:

可以,聯合請將它們的數據緩存在Memcache中,但由於它可能會過期,因此應將原始文件存儲在更持久的存儲系統中,並將經常訪問的塊/文件/元數據緩存在Memcache中。