我正在寻求实现基于磁盘的缓存系统。我们的想法是分配一定数量的磁盘空间并节省大量数据,在空间不足时丢弃旧文件。
LRU是我删除策略的首选,但我愿意接受FIFO。当谷歌搜索缓存算法时,讨论似乎主要是基于内存的缓存。例如,Memcached正是我正在寻找的,除了它是基于记忆的。另一方面,Memcachedb,couchdb等解决方案似乎没有LRU功能。
我发现最接近的是squid proxy服务器存储系统。 COSS似乎是记录最多的一个,但要使用它,我可能不得不将其重写为一个独立的进程(或库)。
我可以使用哪个项目或(java / python)库进行此类操作?
编辑:找到了这个related question。
答案 0 :(得分:2)
我想所有内存缓存库都有一个在磁盘上保留或扩展的选项。至少,EHCache确实如此。
因此,您可以将缓存库配置为在磁盘上写入(因为您希望数据保持持久性,或者将缓存大小扩展到内存限制上)。
请注意,EhCache具有LRU功能。