Ищите систему хранения файлов FIFO / LRU - PullRequest
2 голосов
/ 01 февраля 2010

Я хочу внедрить систему кэширования на основе дисков. Идея состоит в том, чтобы выделить определенное количество дискового пространства и сохранить как можно больше данных, удаляя старые файлы, когда у меня заканчивается свободное пространство.

LRU - мой первый выбор стратегии удаления, но я готов согласиться на FIFO. При поиске алгоритмов кеширования в обсуждении преобладает кэширование на основе памяти. Например, Memcached будет именно тем, что я ищу, за исключением того, что он основан на памяти. С другой стороны, такие решения, как Memcachedb, couchdb и т. Д., Похоже, не имеют возможностей LRU.

Самое близкое, что я нашел, это серверные системы хранения squid proxy . COSS представляется наиболее документированным, но для его использования мне, вероятно, придется переписать его как самостоятельный процесс (или библиотеку).

Какой проект или (java / python) библиотеку я могу использовать для такой вещи?

РЕДАКТИРОВАТЬ: нашел этот связанный вопрос .

1 Ответ

2 голосов
/ 01 февраля 2010

Я полагаю, что во всей библиотеке кэширования памяти есть опция сохранения или расширения на диске. По крайней мере, EHCache делает.

Таким образом, вы можете просто настроить библиотеку кеша для записи на диск (либо потому, что вы хотите, чтобы данные были постоянными, либо увеличить размер кеша за пределы вашей памяти).

Обратите внимание, что EhCache имеет возможности LRU.

...