我有一个问题,我有一个长时间运行的节点套接字服务器,使用redis存储数据。问题似乎是当socket服务器一段时间没有被使用并联系redis时,到redis的连接会断开。
我读到以下内容可以保持联系:
const redisClient = redis.createClient({
url: process.env.REDIS_HOST
})
redisClient.on('connect', () => {
const redisStream = redisClient.stream;
redisStream.setKeepAlive(true, 30000);
})
然而,这在Redis 4.1.0版中不起作用,我得到以下错误:
TypeError: Cannot read properties of undefined (reading 'setKeepAlive')
Redis客户端似乎没有setKeepAlive方法
有什么想法吗?我在文件里找不到任何关于这个的东西。现在有没有其他的方法可以做到这一点,或者如果我的node应用程序挂钩到redis的“end”事件并重新连接自己会更好?
1条答案
按热度按时间gywdnpxw1#
在
createClient()
中设置pingInterval
https://github.com/redis/node-redis/blob/259e9b2e1f184d5e83413a73a88bda85de814ac0/docs/client-configuration.md#createclient-configuration