Linux – 磁盘/文件系统作为LRUcaching(透明到期)

我有一个情况,我想要使用本地磁盘作为从单独的Web服务(类似S3)(热)文件的LRUcaching。 如果文件不存在于磁盘上,则通过互联网读取文件,写入本地磁盘,然后未来的请求可以使用本地caching而不是从原始源读取。

由于存储在Web服务中的数据量将超过本地存储,因此,如果存储已满,则在写入新文件时,我希望自动清除本地文件。 如果可能的话,我想避免这样的情况,即我有一个cron任务,在一定时间后检查atime和过期文件,因为如果没有文件正在写入,没有特别的理由会根据时间过期caching项目。

我试过find类似tmpfs的东西,它允许我像使用caching的应用程序一样,尽可能透明地实现类似于纯磁盘支持的caching(在SSD上),但是我一直无法find实现此function的任何东西(类似于CacheFS为NFS所做的,但是以更一般的方式)。

你可以尝试nginx文件caching,如果你确定http界面。 请参阅nginx内容caching 。