天天看點

Redis訂閱了一段時間後訂閱失效了( redisTemplate.convertAndSend)

有時候,有些服務長時間運作後,對redis的訂閱失效了,但是隻要重新開機伺服器又可以了。這個原因如下

引起這一原因是redis.conf中的tcp-keepalive影響的,這個配置預設是0 

官方建議值為60 機關是秒,

此配置的作用是檢查健康的連接配接的時間,可以了解為心跳機制

如果設定為0則不會檢查心跳資訊,就會造成連接配接實際已經斷開了。但是用戶端不知道,也不會抛異常。

是以用戶端訂閱不了消息也不會報錯,将這個配置值修改成60,再重新開機redis即可。

/etc/init.d/redis-server restart

繼續閱讀