我正在使用Redigo通过golang连接到Redis服务器。
redisConnection, err = redis.Dial("tcp", "...")
redisConnection.Do(..., ...)
如果重新启动服务器,则无法使用相同的redisConnection
执行任何命令。再次执行Do
时不应该重新连接吗?
答案 0 :(得分:2)
不,您的假设不正确。使用Dial
函数,当服务器终止连接时,它将返回一个连接,客户端将无法重新连接。
您应该使用redis.Pool
,并且当您要求建立新连接时它应该能够自动重新连接,该函数是:pool.Get()
答案 1 :(得分:0)
redisConnection.Err()
将返回非nil值。在这种情况下,我们可以再次Dial
。