node.js的进程内持久键值存储

ebl*_*ume 5 node.js

我需要在我正在编写的node.js应用程序中存储一些元数据.我想使用进程内持久键值存储,而不是提出自己的文件格式并管理该文件.

我在看mongodb,但似乎mongodb必须始终在进程外运行(也就是说,你需要先启动一个mongo服务器,然后在node.js.中连接它.)我要求无论这是什么商店,它完全存在于node.js进程中 - 或者至少任何外部进程完全由库透明地管理,并在应用程序关闭连接时终止它们.

我不太关心性能,但是支持异步IO到商店以跟上Node的整个异步事情会很好.

如果商店支持索引也会很好,因为我肯定会以索引有用的方式查询数据.

我很确定'sqlite'对我有用,除了我没有真正看到它像键值存储一样方便.理想情况下,我应该能够用JSON说话,而不是SQL.但是如果没有更好的存在,sqlite将会起作用.

谢谢!

250*_*50R 3

您可能对使用 redis http://redis.io/感兴趣

有一个流行的节点辅助库https://github.com/mranney/node_redis

然后你可以这样做:

var redis = require("redis");
var client = redis.createClient();

client.set("foo_rand000000000000", "OK");
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,但不幸的是,这似乎不是进程内的 - 它需要外部运行的服务器进程。 (6认同)