请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

redis go TestOnBorrow问题

TestOnBorrow: func(c redis.Conn, t time.Time) error {
if time.Since(t) < time.Minute {
return nil
}
_, err := c.Do(“PING”)
return err
}

if time.Since(t) < time.Minute {
return nil
}
这段是什么意义?

正在回答

1回答

最简单的学习方法,看文档。。。

英文有困难如我也,翻译就好啦

// TestOnBorrow is an optional application supplied function for checking
// the health of an idle connection before the connection is used again by
// the application. Argument t is the time that the connection was returned
// to the pool. If the function returns an error, then the connection is
// closed.

TestOnBorrow func(c Conn, t time.Time) error

翻译:TestOnBorrow是一个可选的应用程序提供的函数,用于在应用程序再次使用连接之前检查空闲连接的健康状况。参数t是连接返回到池的时间。如果函数返回错误,则关闭连接。

所以从代码中就很容易理解啦,每分钟做一次健康检查,如果ping出错了,就关闭这个redis连接。

0 回复 有任何疑惑可以回复我~
  • 提问者 黯淡_0001 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-11-25 18:04:25
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信