2010-02-23 57 views
2

我目前正在将生成的HTML页存储在memcached内存中缓存中。这很好,但我想增加缓存的存储容量超出可用内存。我真的希望是:想要一个好的内存+磁盘缓存解决方案

  1. memcached的语义(即不可靠,只是缓存)
  2. memcached的API优惠(但不要求)
  3. 大内存一级缓存(MRU)
  4. 巨大的磁盘上的二级缓存(主)采用LRU或LFU
  5. 证明实现最大存储从磁盘缓存逐出

在寻找解决方案时,我发现了以下解决方案,但他们都以某种方式错过了我的商标。有谁知道任:我没有考虑

  • 一种方法,使memcachedb做驱逐
  • 已经考虑

    • 其他选项:

      memcachedb

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

      tugela cache

      • 抛弃,不支持
      • 不想把它推荐给客户

      nmdb

      • 不使用内存缓存API
      • 新的未经验证的
      • 不想把它推荐给客户

    回答

    0

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

    0

    我曾与EhCache和它的作品非常好。它具有内存缓存和磁盘存储以及不同的驱逐策略。这是一个拥有良好支持的成熟图书馆。有一个memcached api包装EhCache,专门为GAE支持开发。

    Regards, Jonathan。

    +0

    嗨乔纳森。感谢您的回复。我已经看过EhCache,但我不能早些,仍然无法找到一个memcached api包装。你能为我提供一个链接吗? – brofield 2010-06-06 21:35:21

    +0

    对不起,我错了。它不是一个memcache api包装器,它是一种使用ehcache中的memcacheg来组合两个缓存解决方案的方法。 http://ehcache.org/documentation/googleappengine.html – 2010-06-07 20:28:03