redis2_read_timeout

`redis2_read_timeout` 指令以毫秒为单位设置从 Redis 服务器读取响应的最长时间。

语法redis2_read_timeout time;
默认值none
上下文http, server, location
参数1

说明

redis2_read_timeout 指令指定 NGINX 在超时操作之前将等待来自 Redis 服务器响应的时长(以毫秒为单位)。在向 Redis 发出大量或负载较重的请求时,此项尤为重要;设置该超时可以确保如果在指定时间内未收到响应,NGINX 会优雅地终止连接以避免挂起请求。

该指令可放置在 http、server 或 location 上下文中,接受一个表示超时值的单个参数。为获得最佳性能和用户体验,应根据 Redis 实例的预期响应时间来配置此指令。超时设置过短可能导致不必要的失败,而设置过长则可能在 Redis 响应缓慢时造成用户交互无响应。

实际上,建议将此超时与其他超时相关指令(例如 redis2_connect_timeoutredis2_send_timeout)一起设置,以实现全面的超时处理,从而形成与 Redis 交互的完整超时策略。

配置示例

http {
    server {
        location /example {
            redis2_pass 127.0.0.1:6379;
            redis2_read_timeout 5000;  # 5 seconds
            redis2_query get example_key;
        }
    }
}

将此 timeout 设置得过低可能会导致在 Redis 负载过高时合法请求失败。

如果与其他 timeout 指令一起使用,请确保它们的值一致,以避免出现意外行为。

← 返回所有指令