django连接redis集群
1、安装依赖包
redis==3.5.2
redis-py-cluster==2.1.3
2、配置集群
settings中新增节点信息(在三主三从集群中,写入主节点信息即可):
startup_nodes = [
{"host": "158.1.20.22", "port": "6378"},
{"host": "158.1.20.23", "port": "6379"},
{"host": "158.1.20.23", "port": "6380"},
]
3、新建RedisClusterClient.py, 这样项目初始化时会实例化一次rediscluster
# redis_client.py
from rediscluster import RedisCluster
# 创建一个全局的 RedisCluster 实例
rc = RedisCluster(startup_nodes=settings.startup_nodes, decode_responses=True)
# 提供一个简单的函数来获取 RedisCluster 实例(如果需要)
def get_redis_client():
return rc
# 也可以添加一些常用的 Redis 操作作为函数,比如设置和获取值
def set_value(key, value):
rc.set(key, value)
def get_value(key):
return rc.get(key)
# ... 可以继续添加其他常用的 Redis 操作函数
# 注意:通常不需要显式关闭 RedisCluster 连接,因为 Python 在进程结束时会自动关闭。
# 但如果你确实需要在某个时刻关闭连接,可以添加一个函数来执行这个操作。
def close_redis_connection():
rc.close()
4、调用
# 直接使用全局实例
rc.set("rc_set11", "rc set11")
rcvalue = rc.get("rc_set")
print(f"--rc-----------{rcvalue}-------------------")
# 使用提供的函数
set_value("test_redis_cluster11", "test_redis_cluster11")
temp = get_value("test_redis_cluster")
print(f"-----------------{temp}-----------------------")