订阅频道时从redis接收EOF

问题描述

Redis 在 1 小时后出现某种超时,当我订阅某些频道时会引发 EOF 错误。

我的代码:

pubsub := redis.PubSubConn{Conn: rc}
events := ["controller"]
err = pubsub.Subscribe(events)
if err != nil {
      return
}
for {
    switch v := pubsub.Receive().(type) {
     case error:
        log.Printf("Error: %v",v)
         return
     case redis.Message:
          ...

每小时我都会在日志中看到这一点(这会导致我的服务崩溃):

Error: EOF

为什么我总是收到这条 EOF 消息?我应该在某处设置某种超时吗?

版本: Redis docker => redis:6.0.9-alpine(没有 redis.conf)

redigo => v1.8.3

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)