【发布时间】:2012-01-09 21:13:13
【问题描述】:
我在 Ubuntu 11.10 上将 Redis 2.2.11 与 Node 一起使用,我正在保存一个字符串,但它作为缓冲区返回。
id = 1234;
console.log('data', data);
client.hmset("user:" + id, "name", data['name'] );
client.hmget('user:' + id, "name", function(err, d) {
console.log('data retrieved', d);
});
这会在控制台产生以下内容:
data { name: 'RealServer' }
data retrieved [ <Buffer 41 6e 6e 61 52 65 61 6c 53 65 72 76 65 72> ]
为什么它以字符串形式输入,以缓冲区形式输出? Buffer 让调试变得非常困难!
在我的本地设置(带有 Redis 2.2.14 的 MacOS 10.6)中,检索到的数据打印为字符串,很好。我想找到一个在这两个系统上都能继续工作的解决方案。
更新:如果没有在 CentOS 5.7 上指定编码,它也可以正常工作。这是 Ubuntu 特有的吗?是否有系统范围的修复?
【问题讨论】:
标签: javascript macos node.js ubuntu redis