Python连接Redis主要通过redis-py库实现,需注意版本兼容性、连接方式及异常处理;安装后可用redis.Redis()建立单机连接,推荐启用decode_responses=True并使用ConnectionPool提升并发性能,连接后应调用r.ping()验证。

Python 连接 Redis 主要通过 redis-py 官方客户端库实现,步骤简单但需注意版本兼容性、连接方式和异常处理。
安装 redis-py 客户端
使用 pip 安装最新稳定版(支持 Redis 6+ 和 RESP3):
pip install redis如需连接 Redis Cluster,可额外安装:
pip install redis-py-cluster
基础连接方式(单机 Redis)
推荐使用 redis.Redis() 实例化连接,支持多种初始化参数:
立即学习“Python免费学习笔记(深入)”;
-
host 和 port:指定 Redis 服务地址与端口(默认
localhost:6379) -
db:选择数据库编号(默认
db=0) -
password:如有密码,传入字符串(或使用
username+password支持 ACL) - decode_responses=True:让返回的字符串自动解码为 Python str(避免 bytes 类型)
示例代码:
import redisr = redis.Redis( host='localhost', port=6379, db=0, password=None, # 若有密码请填写 decode_responses=True )
测试连通性
r.ping() # 返回 True 表示连接成功
使用连接池提升性能
在 Web 应用或高并发场景中,应复用连接而非每次新建。redis-py 默认启用连接池,也可显式配置:
- max_connections:最大空闲连接数
- socket_timeout:读写超时(秒)
- health_check_interval:定期心跳检测间隔(建议设为 30 秒以上)
示例:
pool = redis.ConnectionPool(
host='localhost',
port=6379,
db=0,
max_connections=20,
socket_timeout=5,
health_check_interval=30
)
r = redis.Redis(connection_pool=pool)
常见问题与验证
连接失败时,优先检查以下几点:
- Redis 服务是否正在运行(
redis-cli ping测试) - 防火墙或网络策略是否放行 6379 端口
- 密码或用户名是否正确(Redis 6+ 启用 ACL 时需确认权限)
- Python 进程是否有 DNS 解析权限(若用域名连接)
连接后建议立即执行 r.ping() 或 r.info() 验证可用性,捕获 redis.ConnectionError 或 redis.AuthenticationError 做针对性处理。











