Pergunta

Estou procurando implementar um sistema de cache baseado em disco. A idéia é alocar uma certa quantidade de espaço em disco e salvar, por mais que os dados se encaixem, descartando arquivos antigos enquanto eu fica sem espaço.

A LRU é minha primeira escolha de estratégia de exclusão, mas estou disposto a me contentar com o FIFO. Ao pesquisar os algoritmos de cache, a discussão parece ser dominada pelo cache baseado em memória. Memcached, por exemplo, seria exatamente o que estou procurando, exceto que é baseado na memória. Por outro lado, soluções como MemcachedB, CouchDB etc. não parecem ter recursos de LRU.

A coisa mais próxima que encontrei é o proxy de lula Sistemas de armazenamento de servidores. Coss Parece ser o mais documentado, mas para usá-lo, eu provavelmente teria que reescrevê-lo como um processo independente (ou biblioteca).

Qual projeto ou biblioteca (Java/Python) posso usar para uma coisa dessas?

EDITAR: Encontrei isso Pergunta relacionada.

Foi útil?

Solução

Eu acho que toda a biblioteca de cache de memória tem a opção de persistir ou expandir o disco. Pelo menos, o ehcache faz.

Assim, você pode simplesmente configurar uma biblioteca de cache para gravar no disco (porque deseja que os dados sejam persistentes ou expandam o tamanho do cache sobre os limites de memória).

Observe que o Ehcache possui recursos de LRU.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top