c之是否可以在 FUSE 文件系统中使用 Linux VFS 缓存
Linux VFS 缓存似乎在默认情况下无法与 FUSE 文件系统一起使用。例如,“读取”调用似乎被系统地转发到 FUSE 文件系统。
我在 FUSE 特定的远程文件系统上工作。我需要一个非常积极的缓存。
我需要实现自己的页面缓存吗?或者是否可以为这个特定的 FUSE 文件系统激活 Linux VFS 缓存?或者有人知道一个好的代理/缓存 FUSE 文件系统(或一种无需重新发明轮子就可以做到这一点的 C 库)吗?
奖励问题:
如果我必须实现自己的页面缓存,我想使用 REDIS 守护进程来执行 LRU 操作。我几乎可以肯定它是缓存元数据的不错选择。但是对于页面,我不确定它是否会比简单的本地目录(带有 VFS 缓存)或/dev/shm 更好。但是我会丢失LRU自动清理。有人知道一种带有自动 LRU 清理功能的/dev/shm 吗?
一些附加信息:文件系统是只读的,远程端几乎是不可变的;远程端包含非常大的文件,我无法将其复制到本地目录。
请您参考如下方法:
您可以使用 FUSE auto_cache
选项。 FUSE 将缓存数据并仅进行几次元数据调用以检查文件大小或修改时间戳是否已更改。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。