云数据库Tair(兼容 Redis)实例的timeout参数用于设置Redis客户端连接的空闲时间。当连接空闲超过一段时间后,实例会自动断开客户端连接,以减少空闲连接,释放连接资源。
空闲连接的超时机制
在业务场景中,通常会由客户端进行连接资源管理,例如分配连接、监控连接状态、回收连接池资源等。
timeout参数默认为0,表示即使某个客户端已经空闲了很长时间,Tair(以及Redis开源版)实例也不会主动断开空闲连接。但如果客户端出现异常,没有及时回收连接池资源,可能因空闲连接占满连接池导致服务崩溃。如果核心业务出现该问题,影响严重。因此,在业务核心应用中,建议配置timeout参数,使实例可以主动回收连接资源。
空闲连接超时后,实例不一定会立即断开连接。实例会定期检查空闲连接是否超时,如果定期任务的执行频率较低(即hz参数值较低),可能导致超过空闲连接超时时间后,连接才被断开。例如设置timeout参数值为10s,但空闲连接可能在12s后才会被断开。如需降低这个延迟,可适当增大hz参数的值,提高负责断开超时连接等定期任务的执行频率。
操作步骤
访问实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏中,单击参数设置。
在参数列表中,单击timeout参数右侧的修改。
在弹出的对话框中,修改timeout参数的值。
取值范围为[0,100000],单位为秒(s)。
单击确定。
该参数会立即生效。
相关API
API接口 | 说明 |
查询实例的配置参数和运行参数。 | |
修改实例的参数配置。 |