redis-py在Python中连接与使用Redis全过程

 更新时间:2025年11月04日 10:00:22   作者:Hello.Reader  
文章介绍了如何在Python项目中安装和使用redis-py库连接Redis,包括连接测试、核心功能、高级用法和配置优化,还提供了官方文档和示例代码的链接,帮助开发者进一步学习和深入应用Redis

一、安装 redis-py

首先,确保已经安装并启动了一台 Redis 服务。请参阅官方文档完成 Redis 服务器的安装与启动。

在项目环境中执行:

pip install redis

Tip:如果希望获得更快的响应解析性能,可以额外安装 hiredis

pip install redis[hiredis]

如果系统中存在 hiredis>=1.0,redis-py 会自动使用它进行底层二进制协议解析,无需修改代码。

注意:Python 3.12 以后的标准库移除了 distutils,旧版本的 redis-py 可能会安装失败,建议使用最新稳定版 redis-py。

二、连接到 Redis 并测试

在代码中导入并创建客户端实例:

import redis

# 默认连接到 localhost:6379,decode_responses=True 可直接返回字符串
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
  • hostport:Redis 服务地址与端口;
  • decode_responses=True:将返回的 bytes 自动解码为 str。

示例:字符串读写

# 写入
r.set('foo', 'bar')      # 返回 True

# 读取
value = r.get('foo')     # 返回 'bar'

示例:Hash(字典)读写

# 批量写入 Hash
r.hset('user:123', mapping={
    'name': 'Alice',
    'email': 'alice@example.com',
    'age': 30
})

# 读取整个 Hash
session = r.hgetall('user:123')
# 返回 {'name': 'Alice', 'email': 'alice@example.com', 'age': '30'}

三、核心特性速览

功能方法示例
字符串r.set(), r.get()
列表 Listr.lpush(), r.rpop()
集合 Setr.sadd(), r.smembers()
有序集合 ZSetr.zadd(), r.zrange()
哈希 Hashr.hset(), r.hgetall()
管道 Pipelinepipe = r.pipeline(); pipe.set(...); pipe.execute()
事务 Transactionwith r.pipeline() as pipe: pipe.multi(); …
发布/订阅 Pub/Subpub = r.pubsub(); pub.subscribe('chan')
扫描迭代 SCANr.scan_iter(), r.hscan_iter()

更多高级用法,请参考 redis-py 官方文档。

四、常见配置与调优

连接池

pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
r = redis.Redis(connection_pool=pool)

复用 TCP 连接、提升并发性能。

超时与重试

r = redis.Redis(socket_timeout=5, socket_connect_timeout=5, retry_on_timeout=True)

防止网络抖动导致阻塞。

SSL/TLS 连接

r = redis.Redis(
    host='redis.example.com', port=6380,
    ssl=True, ssl_certfile='client.crt', ssl_keyfile='client.key',
    ssl_ca_certs='ca.pem'
)

在云环境或生产集群中启用加密传输。

五、深入学习资源

通过上述步骤,你已能够在 Python 应用中快速集成并高效使用 Redis。接下来,可进一步探索管道、事务、发布/订阅模式,以及 Redis Streams、Lua 脚本与集群模式等进阶特性,以满足更复杂的业务需求。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python __add__()的具体使用

    python __add__()的具体使用

    本文主要介绍了python __add__()的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Python 内置函数 oct详解

    Python 内置函数 oct详解

    Python 的内置函数 oct()用于将一个整数转换为八进制以8为基数字符串表示形式,本文给大家介绍Python 内置函数 oct的相关知识,感兴趣的朋友一起看看吧
    2025-07-07
  • python实现支付宝当面付(扫码支付)功能

    python实现支付宝当面付(扫码支付)功能

    这篇文章主要为大家详细介绍了python实现支付宝当面付,扫码支付功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • 浅析Python 条件控制语句

    浅析Python 条件控制语句

    这篇文章主要介绍了Python 条件控制语句的相关资料,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • 理论讲解python多进程并发编程

    理论讲解python多进程并发编程

    这篇文章主要从理论方面讲解python多进程并发编程的相关知识点,如果你也想学习这方面的知识,参考下吧。
    2018-02-02
  • Python+pytorch实现天气识别

    Python+pytorch实现天气识别

    这篇文章主要为大家详细介绍了如何利用Python+pytorch实现天气识别功能,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考一下
    2022-10-10
  • VSCode Python开发环境配置的详细步骤

    VSCode Python开发环境配置的详细步骤

    这篇文章主要介绍了VSCode Python开发环境配置的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • 利用4行Python代码监测每一行程序的运行时间和空间消耗

    利用4行Python代码监测每一行程序的运行时间和空间消耗

    这篇文章主要介绍了如何使用4行Python代码监测每一行程序的运行时间和空间消耗,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Python实现学生管理系统的完整代码(面向对象)

    Python实现学生管理系统的完整代码(面向对象)

    这篇文章主要介绍了Python实现学生管理系统的完整代码(面向对象),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 使用python动态生成波形曲线的实现

    使用python动态生成波形曲线的实现

    今天小编就为大家分享一篇使用python动态生成波形曲线的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12

最新评论