直接使用Linux VFS函数有缓存机制吗?

Is there a caching mechanism when using directly Linux VFS functions?

我正在 KVM 管理程序之上构建一个应用程序,我通过直接调用 Linux 内核 VFS 函数访问(数千次)一个小型数据库 (3 mb)。

在构建了我的应用程序的稳定原型之后,我想优化它对数据库的访问(例如通过添加缓存)。 我知道通过用户 space 执行文件操作,Linux 使用页面缓存来加速应用程序,当使用内核 space 的 VFS 函数时也是如此吗?

是的,我想你知道,VFS 是一个抽象层,其理念是所有文件系统看起来都一样,无论它们的实现细节是什么。

因此,VFS 可以在 VFS 级别进行一些缓存,然后为所有块设备提供一个缓冲区缓存,进一步向下层蛋糕。