gpt4 book ai didi

redisPub、redisSub、redisStore - 用于 socket.io 存储

转载 作者:IT王子 更新时间:2023-10-29 06:06:48 26 4
gpt4 key购买 nike

以这个示例代码为例:

//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) pubsubclient 都连接到同一个 redis 数据库,对吗?

(2)那么它们有什么区别,redisPub、redisSub、redisClient到底是干什么用的?

最佳答案

是的,它们都连接到同一个Redis实例,但是它们对应到这个实例的不同连接。

当您使用 Redis 发布/订阅时,必须打开多个连接,因为一旦在给定连接上建立了订阅,就不可能将此连接用于其他任何事情:

  • sub用于订阅/退订和接收通知消息
  • pub 用于发布通知
  • 客户端用于get/set/del/has/destroy方法

我猜 pub 和 client 实际上可以使用相同的 Redis 连接。

关于redisPub、redisSub、redisStore - 用于 socket.io 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25098401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com