我需要跟踪一组文件的大量 inotify 消息,这些文件在其生命周期内将在几个特定目录之间移动,并且 inode 完好无损;我需要跟踪这些 inode 的移动,以及创建/删除和更改文件内容。每秒将有数百次更改。
由于资源有限,我无法将其全部存储在 RAM(或磁盘或数据库)中。
幸运的是,这些文件中的大部分都会在短时间内被删除;只需存储文件内容和移动历史以供以后分析。未立即删除的文件最终将在特定目录中保留一段已知时间。
所以在我看来,我需要一个部分存储在 RAM 中并部分保存到磁盘的数据结构;保存到磁盘的部分需要重新调用(未删除的文件),但大部分不需要。我不需要查询数据,只需通过标识符(文件名,即 [A-Z0-9]{8})访问它。能够配置文件数据何时刷新到磁盘会很有帮助。
这样的野兽存在吗?
编辑:我问了一个相关的问题。