【问题标题】:wanting a good memory + disk caching solution想要一个好的内存+磁盘缓存解决方案
【发布时间】:2011-01-19 22:05:43
【问题描述】:

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

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

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

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

已经考虑的有:

memcachedb

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

tugela cache

  • 已弃用,不支持
  • 不想向客户推荐它

nmdb

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

【问题讨论】:

    标签: caching memcached distributed-caching memcachedb


    【解决方案1】:

    【讨论】:

    • Ta 的建议,但它不是缓存解决方案。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      问候, 乔纳森。

      【讨论】:

      • 嗨乔纳森。感谢您的回复。我已经查看了 EhCache,但我不能更早,并且仍然找不到 memcached api 包装器。请给我一个链接好吗?
      • 对不起,我错了。它不是 memcache api 包装器,它是一种使用 ehcache 中的 memcacheg 来组合两种缓存解决方案的方法。 ehcache.org/documentation/googleappengine.html
      猜你喜欢
      • 1970-01-01
      • 2011-03-01
      • 2015-10-01
      • 1970-01-01
      • 2016-06-12
      • 2017-11-19
      • 2012-07-10
      • 2011-01-31
      • 1970-01-01
      相关资源
      最近更新 更多