Node Redis在客户端版本4.1.0中保持连接活动

hmtdttj4  于 2023-10-15  发布在  Redis
关注(0)|答案(1)|浏览(139)

我有一个问题,我有一个长时间运行的节点套接字服务器,使用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”事件并重新连接自己会更好?

gywdnpxw

gywdnpxw1#

createClient()中设置pingInterval

createClient({
  pingInterval: 30000 // 30 s
})

https://github.com/redis/node-redis/blob/259e9b2e1f184d5e83413a73a88bda85de814ac0/docs/client-configuration.md#createclient-configuration

相关问题