Session 是否在nodejs/redis中保存tcp会话?
我目前正在学习node.js,通过TCP开发一个小型聊天应用程序(经典案例) 我现在想做的是扩展此应用程序以使用静态用户:Session 是否在nodejs/redis中保存tcp会话?,session,node.js,tcp,redis,Session,Node.js,Tcp,Redis,我目前正在学习node.js,通过TCP开发一个小型聊天应用程序(经典案例) 我现在想做的是扩展此应用程序以使用静态用户: 所有关于消息传递的逻辑都应该基于用户,而不是用户 会议 因此,每个会话都需要与 对用户的引用(以便应用程序可以在 正确的会话(基于用户名) 我已经研究过Redis来存储这些数据,但到目前为止还没有成功 tcpServer.on 'connection', (tcpSocket) -> tcpSocket.write "Welcome"
- 所有关于消息传递的逻辑都应该基于用户,而不是用户 会议李>
- 因此,每个会话都需要与 对用户的引用(以便应用程序可以在 正确的会话(基于用户名)李>
- 我已经研究过Redis来存储这些数据,但到目前为止还没有成功
tcpServer.on 'connection', (tcpSocket) -> tcpSocket.write "Welcome" redis.hmset("sessions", userid, tcpSocket) tcpSocket.on "data", (data) -> redis.hvals "sessions", (err, repl) -> repl.forEach (reply, y) -> reply.Write("Data is written to clients!") tcpServer.listen 7000
这表明我无法像现在这样存储tcpSocket。有没有人能告诉我,我是否可以做一些小的调整来纠正这个问题,或者我应该重新考虑这个解决方案?Redis支持很少的数据类型:字符串、列表、集合、排序列表和哈希表。就这样。其他一些类型,如日期,可以很容易地转换为字符串或从字符串转换为字符串,因此也可以使用它。但是套接字是一个复杂的内部对象,所以您很可能无法将其转换为字符串,因此无法存储在Redis中。Redis支持的数据类型很少:字符串、列表、集合、排序列表和哈希表。就这样。其他一些类型,如日期,可以很容易地转换为字符串或从字符串转换为字符串,因此也可以使用它。但socket是一个复杂的内部对象,因此您很可能无法将其转换为字符串,因此无法存储在Redis中。由于socket对象在Redis中的存储非常复杂,因此似乎应该按照下面的链接向对象添加标识符 当然,该标识符可以保存在数据库中,以在不同对象之间创建不动产等
由于套接字对象在Redis中的存储非常复杂,因此似乎应该按照下面的链接向对象添加标识符 当然,该标识符可以保存在数据库中,以在不同对象之间创建不动产等