【发布时间】:2012-07-06 05:30:18
【问题描述】:
我的理解是socket.io使用redis
socket.set( 'var', val1 );
var val2 = socket.get( 'var' );
但是redis不在node_modules中
socket.io 是否使用自己的 redis 私有实例?如果没有,是否可以通过 redis 客户端访问存储在 redis 中的 socket.io 值?
【问题讨论】:
我的理解是socket.io使用redis
socket.set( 'var', val1 );
var val2 = socket.get( 'var' );
但是redis不在node_modules中
socket.io 是否使用自己的 redis 私有实例?如果没有,是否可以通过 redis 客户端访问存储在 redis 中的 socket.io 值?
【问题讨论】:
Socket.io 使用 Redis 来存储有关套接字的信息。如果您有多个 socket.io 服务器用于同一应用程序,则需要使用它。
如果你不覆盖socket.io的数据,显然你可以在你的应用程序中使用这个redis。
Socket.io 使用 redis 的发布/订阅功能(请参阅documentation),而不是键/值存储。
【讨论】:
var redis = require("redis"),... 和var redis = require('socket.io/lib/stores/redis'),... 有什么区别?
node_modules 中有自己的 redis 库,并且任何依赖项都有自己的,在它们各自的 node_modules 中。
var redis = require("redis"),因为您不能确定socket.io 将始终依赖于redis。