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中。