2024--Django平台开发-Redis集群(十一)

内容回顾

  • 主从复制。

  • 哨兵:实例启动了,哨兵节点没启动,Python通过redis-py连接报错。一定要确保实例节点和哨兵节点都启动了。

  • 搭建集群用的是虚拟机的多台centos服务器,你在跟着学习的时候,一定要全部都是虚拟机,或者全部都是云服务,不能混用。而且,尽量保证多台服务器的配置是一致的。

    • 软件的版本也要一致。
  • 虚拟机的静态IP配置:

    • 静态IP配置上了,所有的配置都是没问题的,但是静态IP就是不出来。
      • 是否是公司电脑,安装了特殊的安全、监控软件之类的,导致。
      • 是否开启了科学上网,如果是的话,先把你的代理关一关。
      • VMware的Windows服务中的相关服务是否是运行的。
      • 千万不要把你的虚拟机安装到移动硬盘上...
      • Python中的路径操作,尽量避开e盘,软件安装、项目也不要放到这个e盘上。

Python操作Redis集群

https://www.cnblogs.com/Neeo/articles/17587765.html#连接集群

python 复制代码
from redis import RedisCluster
from redis.cluster import ClusterNode

if __name__ == '__main__':


    # 集群所有(主从)节点的列表
    nodes = [
        ClusterNode("192.168.10.150", port=6380), ClusterNode("192.168.10.150", port=6381),

        ClusterNode("192.168.10.151", port=6380), ClusterNode("192.168.10.151", port=6381),

        ClusterNode("192.168.10.152", port=6380), ClusterNode("192.168.10.152", port=6381),
    ]

    # 可以给定全部集群中的机器IP信息
    cluster = RedisCluster(startup_nodes=nodes, decode_responses=True)

    # 也可以随便指定一个节点(不管主从都可以,它会自动定位)
    # cluster = RedisCluster(host="192.168.10.150", port=6381, decode_responses=True)
    cluster.set("user", "zhangkai")
    print(cluster.get("user"))

集群自动部署

  1. 有个交互提示,需要手动输入yes
bash 复制代码
redis-cli --cluster create 192.168.10.150:6380 192.168.10.151:6380 192.168.10.152:6380 192.168.10.150:6381 192.168.10.151:6381 192.168.10.152:6381 --cluster-replicas 1
  1. 优化yes,用echo命令处理
bash 复制代码
echo "yes"|redis-cli --cluster create 192.168.10.150:6380 192.168.10.151:6380 192.168.10.152:6380 192.168.10.150:6381 192.168.10.151:6381 192.168.10.152:6381 --cluster-replicas 1
  1. 优化yes,用的是--cluster-yes来优化,推荐使用这个
bash 复制代码
redis-cli --cluster create 192.168.10.150:6380 192.168.10.151:6380 192.168.10.152:6380 192.168.10.150:6381 192.168.10.151:6381 192.168.10.152:6381 --cluster-replicas 1 --cluster-yes
# --cluster-replicas 1 表示一个主节点有一个从节点
# --cluster-yes 表示有交互的提示中,自动输入yes

集群参考:https://www.cnblogs.com/Neeo/articles/10840096.html

补充一个Python3.11解释器在centos7系统的安装

https://www.cnblogs.com/Neeo/articles/12829625.html#编译安装python311

大key和热key分析参考:https://www.cnblogs.com/Neeo/articles/17643361.html

关于Redis的所有的笔记,都可以参考:https://www.cnblogs.com/Neeo/p/10864123.html#database

关于Redis的所有的配置都可以参考这个文件

在安装目录中:

bash 复制代码
[root@cs redis-5.0.7]# pwd
/opt/redis-5.0.7
[root@cs redis-5.0.7]# cat redis.conf    # 这个配置文件是最全的

但我们没有用这个文件,用的是:

bash 复制代码
[root@cs opt]# cat /opt/redis6379/conf/redis6379.conf 
daemonize yes
bind 192.168.10.150 127.0.0.1
port 6379
pidfile "/opt/redis6379/pid/redis6379.pid"
logfile "/opt/redis6379/logs/redis6379.log"
dir "/data/redis6379"
save 900 1
save 300 10
save 60 10000
dbfilename "redis.rdb"
appendonly yes
appendfilename "redis.aof"
appendfsync everysec
相关推荐
用户27784491049933 小时前
借助DeepSeek智能生成测试用例:从提示词到Excel表格的全流程实践
人工智能·python
JavaEdge在掘金5 小时前
ssl.SSLCertVerificationError报错解决方案
python
我不会编程5555 小时前
Python Cookbook-5.1 对字典排序
开发语言·数据结构·python
老歌老听老掉牙6 小时前
平面旋转与交线投影夹角计算
python·线性代数·平面·sympy
Kagol6 小时前
macOS 和 Windows 操作系统下如何安装和启动 MySQL / Redis 数据库
redis·后端·mysql
满怀10156 小时前
Python入门(7):模块
python
无名之逆6 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
你觉得2056 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
啊喜拔牙6 小时前
1. hadoop 集群的常用命令
java·大数据·开发语言·python·scala
hzulwy6 小时前
Redis常用的数据结构及其使用场景
数据库·redis