以此示例代码:
//Redis Variables
var redis = require('socket.io/node_modules/redis');
var RedisStore = require('socket.io/lib/stores/redis');
var pub = redis.createClient();
var sub = redis.createClient();
var client = redis.createClient();
var redis_store = new RedisStore({
redisPub: pub,
redisSub: sub,
redisClient: client
});
io.configure(function(){
io.set('store', redis_store);
});
两个问题:
(1)pub
,sub
和client
都连接到同一个redis数据库,对吗?
(2)那么它们和redisPub,redisSub和redisClient究竟用于什么区别?
答案 0 :(得分:1)
是的,它们都连接到同一个Redis实例,但它们对应于此实例的不同连接。
当您使用Redis pub / sub时,必须打开多个连接,因为一旦在给定连接上建立了订阅,就不可能将此连接用于其他任何连接:
我猜pub和客户端实际上可以使用相同的Redis连接。