2010-02-23 3 views
2

В настоящее время я храню сгенерированные HTML-страницы в кэше памяти в memcached. Это отлично работает, однако я хочу увеличить емкость кэша за пределами доступной памяти. То, что я действительно хотел бы это:Желание хорошей памяти + решение для кэширования диска

  1. Memcached семантика (т.е. не надежен, просто кэш)
  2. Memcached API предпочтительный (но не обязательно)
  3. большого кэша первого уровня в памяти (MRU)
  4. огромного кэш на диске второго уровня (основной)
  5. выселен из кэша на диске при максимальном хранении с использованием LRU или LFU
  6. проверенных реализаций

В поисках решения я нашел следующие решения, но они все пропускают мои оценки в некотором роде. Кто-нибудь знает как:

  • другие варианты, которые я не считаются
  • способ сделать memcachedb сделать Выселениям

уже рассмотренному являются:

memcachedb

  • лучше всего подходит, но не выполняет выселения: явно «не кеш»
  • не может видеть любой способ сделать выселений (вручную или автоматически)

tugela cache

  • заброшены, нет поддержки
  • не хотите, чтобы рекомендовать его клиентам

nmdb

  • не использует API кэша памяти
  • новое и недоказанной
  • не хотите, чтобы рекомендовать его клиентам

ответ

0

Похоже, что более поздние версии memcachedb могут быть очищены вручную при необходимости с помощью команды rget и сохранения времени истечения в записи данных. Разумеется, это означает, что я забираю сервер и сеть с запросами на весь блок данных, хотя мне нужно только время истечения срока. Не лучшее решение, но, по-видимому, единственное, что доступно в настоящее время.

0

Я работал с EhCache, и он работает очень хорошо. Он имеет кэш-память и дисковое хранилище с различными политиками выселения. Это зрелая библиотека с хорошей поддержкой. Существует memcached api, который обертывает EhCache, специально разработанный для поддержки GAE.

С уважением, Джонатан.

+0

Привет, Джонатан. Спасибо за ваш ответ. Я заглянул в EhCache, но раньше не мог и не могу найти memcached api wrapper. Не могли бы вы связаться со мной для меня, пожалуйста? – brofield

+0

Извините, я ошибся. Это не api-оболочка memcache, это способ использовать memcacheg из ehcache для объединения двух решений кэширования. http://ehcache.org/documentation/googleappengine.html –

Смежные вопросы