Redis订阅了一段时间后订阅失效了( redisTemplate.convertAndSend)

有时候,有些服务长时间运行后,对redis的订阅失效了,但是只要重启服务器又可以了。这个原因如下

 

引起这一原因是redis.conf中的tcp-keepalive影响的,这个配置默认是0 

官方建议值为60 单位是秒,
此配置的作用是检查健康的连接的时间,可以理解为心跳机制
如果设置为0则不会检查心跳信息,就会造成连接实际已经断开了。但是客户端不知道,也不会抛异常。

 

所以客户端订阅不了消息也不会报错,将这个配置值修改成60,再重启redis即可。

 

/etc/init.d/redis-server restart

你可能感兴趣的:(Redis,redis)