我目前正在尝试从运行我的应用程序的服务器连接到存储在另一个示例上的Redis集群。我使用IoRedis在我的应用程序和Redis示例之间进行接口,当只有一个Redis节点运行时,它工作得很好。然而,在尝试在我的Node应用程序中设置集群连接后,它不断地在连接上循环。我的群集设置工作正常。
到目前为止,我已经在我的应用程序中尝试了以下配置来连接到集群。问题是,“连接”甚至不断循环打印出“连接到Redis!“。”ready“和”error“的事件永远不会触发。
const cache: Cluster = new Cluster([{
port: 8000,
host: REDIS_HOST
}, {
port: 8001,
host: REDIS_HOST
}, {
port: 8002,
host: REDIS_HOST
}]);
cache.on('connect', () => {
console.log('Connected to Redis!');
});
最后,“connect”事件应该只触发一次。有人对此有什么想法吗?
2条答案
按热度按时间thigvfpy1#
我今天发现的这种错误与ioredis无关,而是与redis示例设置有关。在我的例子中,我在使用ioredis的p3 x-redis-ui中遇到的问题是集群没有初始化。看https://github.com/patrikx3/redis-ui/issues/48也许你会发现任何线索,以帮助您解决您的错误。
ojsjcaue2#
我的问题是连接到不同的集群地址。
我在127.0.0.1上创建了集群
在此之后,我已经连接到外部服务器IP 34.35.36.37。或者,如果我通过本地网络地址www.example.com连接10.124.0.1-同样的问题,客户端永久重新连接。
在这种情况下,只能通过127.0.0.1连接到群集。
由于此群集配置:
cat /opt/redis/redis1/nodes.conf