【发布时间】:2012-04-25 07:49:17
【问题描述】:
我目前正在编写一个缓存系统,它将序列化 (json) 数据保存在磁盘和内存中,以减少数据库上的 I/O 负载。
系统将通过在内存中保存最后 X 个访问的文件并从磁盘读取其他文件来工作。
我读到有一些系统可以通过 inode 打开文件来减少 nfs(我将来可能会使用)系统上的 I/O 负载。
我的问题是:
- 有没有办法通过nodejs中的inode打开nfs文件系统上的文件?如果没有,我需要做哪些功课才能做到这一点?
2.用inode打开本地文件系统上的文件是绝对不可能的吗?3.如果实际上不可能,是否有更快的方法来重新打开文件,因为让操作系统一遍又一遍地统计文件似乎是不必要的重复?
【问题讨论】:
-
我建议您在开始这次冒险之前先研究一下久经考验的方法,例如 memcached 或 redis 吗?两者都可以用作 LRU 缓存,这对您来说应该是完美的,因为我认为您将从数据库中重建数据?
-
谢谢你莱纳斯! memcached 几乎正是我所计划的。如果密钥不在 memcached 中,我仍然认为我应该退回到 nfs 存储。所以我的部分问题仍然存在。