黑帽联盟

标题: 设置客户端连接的空闲时间(timeout) [打印本页]

作者: 定位    时间: 2024-9-30 21:52
标题: 设置客户端连接的空闲时间(timeout)
Redis的timeout参数用于设置Redis客户端连接的空闲时间。当连接空闲超过一段时间后,Redis会自动断开客户端连接,以减少空闲连接,释放连接资源。


空闲连接的超时机制
在业务场景中,一般会由Redis客户端进行连接资源管理,例如分配连接、监控连接状态、回收连接池资源等。timeout参数默认为0,表示即使某个客户端已经空闲了很长时间,Redis也不会主动断开空闲连接。如果客户端出现异常,没有及时回收连接池资源,可能因空闲连接占满连接池导致服务崩溃。如果核心业务出现该问题,影响严重。因此,在业务核心应用中,建议配置timeout参数,使Redis可以主动回收连接资源。


空闲连接超时后,Redis不一定会立即断开连接。Redis会定期检查空闲连接是否超时,如果定期任务的执行频率较低(即hz参数值较低),可能导致超过空闲连接超时时间后,连接才被断开。例如设置timeout参数值为10s,但空闲连接可能在12s后才会被断开。如需降低这个延迟,可适当增大hz参数的值,提高负责断开超时连接等定期任务的执行频率。






欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5