2010-02-23 147 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