对象"/>
node.js 在 redis 中存储对象
事情是这样的——我想在某个键下的 redis 中存储本机 JS (node.js) 对象(flash sockets 引用)。当我用简单的
client.set()
做到这一点时,它被存储为一个字符串。当我试图获得价值时,我得到[object Object]
- 只是一个字符串。
有机会让这个工作吗?这是我的代码:
addSocket : function(sid, socket) {
client.set(sid, socket);
},
getSocket : function(sid) {
client.get(sid, function(err, reply) {
// cant't get an object here. All I get is useless string
});
},
回答如下:
由于套接字是
Object
类型,存储前需要将对象转为字符串,获取套接字时需要转回对象。
你可以使用
JSON.stringify(socket)
转换为字符串和
JSON.parse(socketstr)
转换回对象。
编辑:
自
2.0.0
版本发布以来,我们能够将对象作为哈希存储到Redis中。
client.hmset("hosts", "mjr", "1", "another", "23", "home", "1234");
client.hgetall("hosts", function (err, obj) {
console.dir(obj);
});
https://redis.io/commands/hset
https://github/NodeRedis/node_redis
更多推荐
node.js 在 redis 中存储对象
发布评论