2

我目前将生成的 HTML 页面存储在 memcached 内存缓存中。这很好用,但是我想增加缓存的存储容量超出可用内存。我真正想要的是:

  1. memcached 语义(即不可靠,只是一个缓存)
  2. 首选 memcached api(但不是必需的)
  3. 大型内存一级缓存 (MRU)
  4. 巨大的磁盘二级缓存(主)
  5. 使用 LRU 或 LFU 以最大存储空间从磁盘缓存中逐出
  6. 经证实的实施

在寻找解决方案时,我找到了以下解决方案,但它们都以某种方式错过了我的标记。有谁知道:

  • 我没有考虑过的其他选项
  • 一种让 memcachedb 进行驱逐的方法

已经考虑的有:

内存缓存数据库

  • 最合适但不驱逐:明确“不是缓存”
  • 看不到任何驱逐方式(手动或自动)

图格拉缓存

  • 弃了,不支持
  • 不想推荐给客户

纳米数据库

  • 不使用 memcache api
  • 新的和未经证实的
  • 不想推荐给客户
4

3 回答 3

0

东京内阁/东京暴君

于 2010-02-23T02:33:30.780 回答
0

如果需要,可以使用rget命令手动清理更高版本的 memcachedb并将到期时间存储在数据记录中。当然,这意味着即使我只想要到期时间,我也会用对整个数据块的请求来冲击服务器和网络。不是最好的解决方案,但似乎是目前唯一可用的解决方案。

于 2010-02-25T05:06:28.320 回答
0

我与EhCache合作过,效果很好。它在内存缓存和磁盘存储中具有不同的驱逐策略。这是一个具有良好支持的成熟库。有一个封装了 EhCache 的 memcached api,专门为 GAE 支持而开发。

问候,乔纳森。

于 2010-05-28T21:09:30.920 回答