我当前将生成的 HTML 页面存储在 memcached 内存缓存中。这非常有效,但是我想将缓存的存储容量增加到超出可用内存的范围。我真正想要的是:

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

在寻找解决方案时,我找到了以下解决方案,但它们都在某种程度上错过了我的标记。有谁知道其中之一:

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

已经考虑的有:

内存缓存数据库

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

图盖拉缓存

  • 被抛弃,没有支持
  • 不想推荐给顾客

国家数据库

  • 不使用memcache api
  • 新的和未经证实的
  • 不想推荐给顾客
有帮助吗?

解决方案 2

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

其他提示

我曾与 高速缓存 而且效果非常好。它在内存缓存和磁盘存储中具有不同的驱逐策略。这是一个成熟的库,有良好的支持。有一个包装 EhCache 的 memcached api,专门为 GAE 支持而开发。

问候,乔纳森。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top