设置Redis客户端连接的超时时间

为了让Redis主动清理长时间空闲的客户端连接,回收资源,您可以设置timeout参数来限制客户端连接的空闲时间。

不设置超时时间会导致连接长时间占用,可能报错:could not get a resource from the pool

前提条件

实例为Redis 4.0或以上版本的标准版云数据库Redis实例。

说明 集群版或读写分离版Redis实例不支持自定义timeout参数。

Redis的客户端超时机制

在业务场景中,一般会由Redis客户端进行连接资源管理,例如分配连接、监控连接状态、回收连接池资源等。默认设置下,Redis不会主动断开连接,即使这个客户端已经空闲了很长时间。但在业务核心应用中,建议配置timeout参数以使Redis具有主动回收资源的能力。否则,如果客户端出现异常,连接池资源得不到及时回收,可能因空闲连接占满连接池导致服务崩溃。核心应用出现这样的问题可能引发整个业务的混乱,后果严重。

timeout参数值的单位为秒(s),取值范围为0~100000。默认值为0,表示无限制。在实际运行中,为了提高性能,Redis不一定会精确地按照timeout的值规定的时间来断开符合条件的空闲连接,例如设置timeout为10s,但空闲连接可能在12s后,服务器中新增很多连接时才会被断开。如需降低这个延迟,可适当增大hz参数的值,提高负责断开超时连接的Redis定时任务的运行频率。

设置方法:可以通过redis配置文件redisXXX.conf设置timeout 30,也可通过redis命令控制台:CONFIG SET timeout 30

  • 1
    点赞
  • 3
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:精致技术 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

凌晨两点钟同学

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值