【发布时间】:2020-09-04 14:28:53
【问题描述】:
如何使用socket.io-redis模块通过rediss://方案连接远程redis实例?
另一个问题是我需要输入凭据进行身份验证,但此模块忽略 username(对于只有密码的 redis 实例可以正常工作)。
【问题讨论】:
如何使用socket.io-redis模块通过rediss://方案连接远程redis实例?
另一个问题是我需要输入凭据进行身份验证,但此模块忽略 username(对于只有密码的 redis 实例可以正常工作)。
【问题讨论】:
我创建了pub 和sub redis 客户端,因为我无法弄清楚如何在没有redis 模块(包括username)的情况下为socket.io-redis 适配器提供正确的凭据,而且它似乎不支持@ 987654326@自己的方案。
const redis = require("redis");
const socket = require('socket.io');
const redisAdapter = require('socket.io-redis');
const URL = require('url').URL;
const io = socket(httpServer, socketOption);
const connectionString = "rediss://admin:password@private-redis-xxxx.db.ondigitalocean.com:25061"
const pub = redis.createClient(connectionString, { tls: { servername: new URL(connectionString).hostname } });
const sub = redis.createClient(connectionString, { tls: { servername: new URL(connectionString).hostname } });
io.adapter(redisAdapter({ pubClient: pub, subClient: sub }));
【讨论】: