内容回顾
-
主从复制。
-
哨兵:实例启动了,哨兵节点没启动,Python通过redis-py连接报错。一定要确保实例节点和哨兵节点都启动了。
-
搭建集群用的是虚拟机的多台centos服务器,你在跟着学习的时候,一定要全部都是虚拟机,或者全部都是云服务,不能混用。而且,尽量保证多台服务器的配置是一致的。
- 软件的版本也要一致。
-
虚拟机的静态IP配置:
- 静态IP配置上了,所有的配置都是没问题的,但是静态IP就是不出来。
- 是否是公司电脑,安装了特殊的安全、监控软件之类的,导致。
- 是否开启了科学上网,如果是的话,先把你的代理关一关。
- VMware的Windows服务中的相关服务是否是运行的。
- 千万不要把你的虚拟机安装到移动硬盘上...
- Python中的路径操作,尽量避开e盘,软件安装、项目也不要放到这个e盘上。
- 静态IP配置上了,所有的配置都是没问题的,但是静态IP就是不出来。
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"))
集群自动部署
- 有个交互提示,需要手动输入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
- 优化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
- 优化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