Python 操作 Redis

pip 安装 redis

安装 redis-py 库

pip install redis

Pycharm 检查:

打开 PyCharm

  1. 打开项目的设置
    • 在 Windows 上,点击 File > Settings
    • 在 macOS 上,点击 PyCharm > Preferences
  2. 导航到项目解释器
  3. 查看已安装的包
    • 在右侧,你应该会看到一个已安装的包列表。在这个列表中,找 redis 是否存在。
Python 操作 Redis

或者通过PyCharm 的底部,有一个 Terminal 面板来检查:pip list

Python 操作 Redis

编写 Python 代码与单台 Redis 交互

示例 1:连接到 Redis

import redis

# 连接到 Redis 服务器(默认在 localhost:6379)
r = redis.Redis(host='localhost', port=6379, db=0)

# 测试连接
print(r.ping())  # 如果连接成功,输出 True

示例 2:操作字符串

# 设置值
r.set('key', 'value')

# 获取值
value = r.get('key')
print(value.decode('utf-8'))  # 输出: value

示例 3:操作哈希

# 设置哈希
r.hset('user:1000', mapping={'name': 'Alice', 'age': 30})

# 获取哈希字段
name = r.hget('user:1000', 'name')
print(name.decode('utf-8'))  # 输出: Alice

# 获取整个哈希
user_info = r.hgetall('user:1000')
for field, value in user_info.items():
    print(f"{field.decode('utf-8')}: {value.decode('utf-8')}")

示例 4:操作列表

# 向列表添加元素
r.rpush('mylist', 'element1')
r.rpush('mylist', 'element2')

# 获取列表的所有元素
mylist = r.lrange('mylist', 0, -1)
print([item.decode('utf-8') for item in mylist])  # 输出: ['element1', 'element2']

实例 5:操作集合

# 向集合添加元素
r.sadd('myset', 'member1')
r.sadd('myset', 'member2')
r.sadd('myset', 'member3')

# 获取集合中的所有元素
myset_members = r.smembers('myset')
print([member.decode('utf-8') for member in myset_members])  # 输出: ['member1', 'member2', 'member3']

# 检查某个元素是否在集合中
is_member = r.sismember('myset', 'member2')
print(is_member)  # 输出: True

# 从集合中移除元素
r.srem('myset', 'member3')

# 获取集合的当前成员
current_members = r.smembers('myset')
print([member.decode('utf-8') for member in current_members])  # 输出: ['member1', 'member2']

# 获取集合的数量
count = r.scard('myset')
print(count)  # 输出: 2

示例 6:使用有序集合

# 添加有序集合元素
r.zadd('myzset', {'member1': 1, 'member2': 2})

# 获取有序集合中的元素
members = r.zrange('myzset', 0, -1, withscores=True)
for member, score in members:
    print(f"{member.decode('utf-8')} : {score}")  # 输出: member1 : 1.0, member2 : 2.0

关闭连接

完成了与 Redis 的交互后,可以显式地关闭连接,尽管在脚本结束时会自动关闭。

r.close()

Python连接到 Redis 集群

连接到 Redis 集群的方式与连接到单个 Redis 实例类似,但需要使用支持集群模式的客户端库。在 Python 中,redis-py 库自版本 2.10.0 以来支持集群模式,可以用于与 Redis 集群进行交互。

1. 安装 redis-py 库

pip install redis

2. 连接到 Redis 集群

使用 RedisCluster 类连接到 Redis 集群。你需要提供集群节点的地址,请参考以下示例代码:

from redis.cluster import RedisCluster

# 集群节点的地址
startup_nodes = [{'host': '127.0.0.1', 'port': '7000'},  # 这里的 IP 和端口要替换为你的集群节点
                 {'host': '127.0.0.1', 'port': '7001'},
                 {'host': '127.0.0.1', 'port': '7002'},
                 {'host': '127.0.0.1', 'port': '7003'},
                 {'host': '127.0.0.1', 'port': '7004'},
                 {'host': '127.0.0.1', 'port': '7005'}]

# 创建 Redis 集群连接
rc = RedisCluster(startup_nodes=startup_nodes, decode_responses=True)

# 测试连接
# 设置键值
rc.set("test_key", "Hello, Redis Cluster!")

# 获取值
value = rc.get("test_key")
print(value)  # 输出: Hello, Redis Cluster!

3. 使用 Redis 集群的命令

一旦成功连接到 Redis 集群,你可以使用常规的 Redis 命令与集群进行交互,代码中的 set 和 get 示例就是基本的操作。

注意事项

  1. 启动节点startup_nodes 中的任一节点的 IP 和端口都是集群中任一节点的地址。
  2. 集群拓扑:连接时,客户端会自动发现集群的其他节点并进行负载均衡。
  3. 错误处理:在生产环境中,确保添加错误处理,以便在节点不可用时能够妥善处理异常。
  4. 版本要求:确保 redis-py 的版本较新(>=2.10.0),且支持 Redis 3.0 及以上的集群模式。

发布者:LJH,转发请注明出处:https://www.ljh.cool/43241.html

Like (0)
LJH的头像LJH
Previous 2025年7月20日 下午8:51
Next 6天前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注