小编kic*_*kic的帖子

如何在Golang中为Redis(redigo)Pubsub写更好的Receive()?

psc := redis.PubSubConn{c}
psc.Subscribe("example")

func Receive() {
    for {
        switch v := psc.Receive().(type) {
        case redis.Message:
            fmt.Printf("%s: message: %s\n", v.Channel, v.Data)
        case redis.Subscription:
            fmt.Printf("%s: %s %d\n", v.Channel, v.Kind, v.Count)
        case error:
            return v
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中(取自Redigo doc),如果连接丢失,所有订阅也会丢失.什么是从丢失的连接恢复和重新订阅更好的方法.

go publish-subscribe redis redigo

-1
推荐指数
1
解决办法
3056
查看次数

标签 统计

go ×1

publish-subscribe ×1

redigo ×1

redis ×1