Linux VFS 缓存似乎默认情况下不适用于 FUSE 文件系统。例如,“read”调用似乎被系统地转发到 FUSE 文件系统。
我在 FUSE 特定的远程文件系统上工作。我需要一个非常激进的缓存。
我需要实现自己的页面缓存吗?或者是否可以为这个特定的 FUSE 文件系统激活 Linux VFS 缓存?或者有人知道一个好的代理/缓存 FUSE 文件系统(或一种 C 库来做到这一点而无需重新发明轮子)?
奖金问题:
如果我必须实现自己的页面缓存,我想使用 REDIS 守护进程来完成 LRU 的工作。我几乎可以肯定它是缓存元数据的好选择。但是对于页面,我不确定它是否会比简单的本地目录(带有 VFS 缓存)或 /dev/shm 更好。但是我会失去LRU自动清洗。有人知道一种带有自动 LRU 清理功能的 /dev/shm 吗?
一些附加信息:文件系统是只读的,远程端几乎是不可变的;远程端包含我无法复制到本地目录的非常大的文件。