我希望实现一个基于磁盘的缓存系统。思路是分配一定的磁盘空间,保存尽可能多的数据,当空间不足时丢弃旧文件。LRU是我的首选删除策略,但我愿意采用FIFO。在搜索缓存算法时,讨论似乎主要集中在基于内存的缓存上。例如Memcached就是我需要的,但它是基于内存的。另一方面,像Memcachedb、couchdb等解决方案似乎没有LRU功能。我找到的最接近的东西是squid代理服务器存储系统。COSS似乎是最有文档记录的,但要使用它,我可能需要将其重写为独立进程(或库)。有什么项目或(Java/Python)库可以用于这样的事情吗? 编辑:发现这个相关问题。
我猜所有的内存缓存库都有一个选项可以将数据持久化或扩展到磁盘上。至少,EHCache有这个功能。因此,你可以配置一个缓存库来写入磁盘(无论是因为你想要数据持久化,还是为了扩展缓存大小超出内存限制)。请注意,EhCache具有LRU功能。