node.js将对象存储在Redis中
这就是事情-
我想在特定键下的redis中存储本机JS(node.js)对象(闪存套接字引用)。当我简单地做到这一点时,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
});
},
回答:
下载者:这里的上下文是SET命令,可以存储任意对象。
不,你不能那样做。您应该接受以下事实:Redis将所有内容存储为字符串(毕竟,协议是基于文本的)。Redis可能会执行一些优化并将某些值转换为整数,但这是它的事,而不是您的事。
如果要在Redis中存储 对象,请确保在保存之前对它们进行了序列化,并在检索后反序列化。
不过,我不确定是否可以使用套接字对象来实现。毕竟,它们仅描述系统资源(开放连接)(例如TCP套接字)。如果您设法序列化描述并将其反序列化到另一台计算机上,则该另一台计算机将没有连接。
以上是 node.js将对象存储在Redis中 的全部内容, 来源链接: utcz.com/qa/419865.html