You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python程序中连接Redis数据库

Python 连接 Redis 实现方案

前置准备

首先安装官方维护的Python Redis客户端redis-py,直接执行pip安装命令即可:

pip install redis
# 如果你的环境里pip默认指向Python2,Python3请用pip3
pip3 install redis

基础连接写法

单实例直连的方式适合简单脚本、低流量场景:

import redis

# 初始化连接
client = redis.Redis(
    host="127.0.0.1",   # 替换为你的Redis服务实际部署地址
    port=6379,          # Redis默认服务端口为6379,有自定义修改就替换为实际端口
    db=0,               # Redis默认拆分16个独立数据库,编号0-15,按需选择即可
    password="your_redis_password",  # 服务没设置密码就删掉这行配置
    decode_responses=True  # 开启后返回值会自动解码为字符串格式,不开启默认返回bytes类型
)

# 调用ping()方法验证连通性,连接正常会返回True
print(client.ping())

生产环境推荐:连接池连接

业务并发较高的场景不要每次操作都新建连接,用连接池统一管理连接生命周期,能大幅降低频繁创建销毁连接带来的性能开销:

注意连接池要初始化为全局单例,不要每次处理请求都新建连接池,否则会产生大量闲置连接拖垮Redis服务。

import redis

# 全局只初始化一次连接池
redis_pool = redis.ConnectionPool(
    host="127.0.0.1",
    port=6379,
    db=0,
    password="your_redis_password",
    decode_responses=True,
    max_connections=200,  # 最大连接数根据业务实际并发量调整
    socket_connect_timeout=3, # 连接超时时间,单位秒
    socket_timeout=3 # 读写操作超时时间,单位秒
)

# 业务逻辑中直接从连接池获取连接实例使用即可
client = redis.Redis(connection_pool=redis_pool)

# 简单读写测试
client.set("demo_key", "redis connect success")
print(client.get("demo_key")) # 输出 redis connect success

常见问题排查

  • 连接抛出ConnectionRefusedError:优先检查Redis服务是否正常启动、地址端口配置是否正确、服务器防火墙/云安全组是否放开Redis端口的访问权限
  • 抛出认证类错误:核对密码配置是否正确、Redis配置中是否绑定了允许访问的IP白名单、对应账号是否有目标数据库的操作权限
  • 返回值是bytes类型:要么初始化连接时加上decode_responses=True开启自动转码,要么拿到返回值后手动调用.decode("utf-8")转成字符串
  • 对接云厂商托管Redis连接失败:大部分云Redis要求SSL加密连接,初始化时加上ssl=True配置再尝试即可

内容的提问来源于stack exchange,提问作者shirin ghasemi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 04:33:25