限制memcache存储的大小

时间:2015-10-17 22:12:34

标签: python google-app-engine caching memcached python-memcached

我正在使用FUSE文件系统fuse.py并计划使用memcache来存储文件。我想拥有少量的memcache空间,以便我知道正在存储哪些文件以及正在替换哪些文件。

据我所知,Memcache有slab存储特定大小的数据。但是有可能只有一块板坯吗?例如,有一个5mb的平板,每页大小为1mb,这样我最多可以存储5个文件。如果我需要添加第6个LRU策略将删除文件并为其腾出空间。

基本上我想使用memcache作为文件的缓存,一旦从memcache中删除文件,就将更改存储在db server中。

1 个答案:

答案 0 :(得分:0)

不要基于如何实现这个或其他系统来实现系统的假设;您唯一可以依赖的是已发布的API文档中的内容,在这种情况下,Google App Engine在条目到期时不提供回调(当条目到达其TTL或由于LRU而被替换时,它将过期),也不会将它们备份到其他存储系统。

您不应该将memcache用于持久存储,例如文件系统;请考虑使用以下系统之一进行持久存储:

当然,您可以将其数据缓存在Memcache中,但由于它可以过期,您应该将原件存储在更耐用的存储系统中,并将经常访问的块/文件/元数据缓存在Memcache中。