首页/数据/数据库速查/连接池配置与使用要点
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条Redis 命令96 条
Redis 运维与场景124 条

连接池配置与使用要点

客户端连接池要点:限最大连接数、设连接/读写超时、复用连接、监控活跃连接;阻塞命令(BLPOP/SUBSCRIBE)必须用独立连接或独立池。

数据库速查数据更新于 2026-10-12

redis-py 连接池

redis-py 连接池
import redis
pool = redis.ConnectionPool(host='127.0.0.1', port=6379,
                            max_connections=100, socket_timeout=2,
                            socket_connect_timeout=1, health_check_interval=30)
r = redis.Redis(connection_pool=pool)
# 阻塞命令用独立池/连接,别和普通请求抢:
blocking = redis.Redis(connection_pool=redis.ConnectionPool(max_connections=5))
max_connections池上限;各客户端之和要小于服务端 maxclients
socket_timeout必须设:故障时线程不会无限等待
health_check定期探测死连接,避免复用失效连接
阻塞命令单独池/连接,占用期间不归还
服务端 maxclients 要预留:复制连接、哨兵、监控、运维 CLI 都占额度;池加起来顶满会拒绝新连接。

易错点

  • 池上限相加 > maxclients:高峰期实例直接拒绝连接
  • 不设超时/健康检查:实例抖动后池里全是死连接,持续报错

数据来源与参考

  • redis-py 文档: Connection Pools
  • Redis 官方文档: 客户端

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌