我想知道是否有一个好的驱动程序或原生实现,可以直接连接node.js到memcached。
以下是我使用几个node-memcached模块的经验:
3rd-Eden/node-memcached。该项目似乎不太稳定,存储BLOB时存在缺陷(有关详细信息,请参见问题#46和问题#48)。此外,我发现它的代码相当难以阅读(因此也难以更新),因此我不建议在项目中使用它。
elbart/node-memcache似乎工作正常,我对其源代码写法感到满意,但它不支持存储BLOBs(有一个fork可以增加此功能,但我尚未测试)
overclocked/mc是我非常喜欢的选项。这是唯一能够存储BLOBs的选项。它有很好的文档,代码看起来很好而且易于使用。
目前,我在我的项目中使用了overclocked/mc,一切似乎都工作正常。
使用以下地址进行搜索: https://npmjs.org/
如果您没有npm,请安装它。
在命令行中:
npm search memcache
会显示5个模块。
这似乎是最受欢迎的: https://github.com/3rd-Eden/node-memcached
基本思想。
net = require("net");
var client = net.connect({port: 11211, host:"localhost"},function() {
console.log('connected');
client.write('stats\r\n');
//OR other commands + "\r\n"
client.on('data', function(data) {
console.log(data.toString());
});
client.on('end', function() {
console.log('data fetched');
});
});
你也可以使用net.createServer创建自己的内存缓存服务器,以支持其他需求,例如将缓存数据持久化到MySQL中。