主从复制。
哨兵:实例启动了,哨兵节点没启动,Python通过redis-py连接报错。一定要确保实例节点和哨兵节点都启动了。
搭建集群用的是虚拟机的多台centos服务器,你在跟着学习的时候,一定要全部都是虚拟机,或者全部都是云服务,不能混用。而且,尽量保证多台服务器的配置是一致的。
虚拟机的静态IP配置:
https://www.cnblogs.com/Neeo/articles/17587765.html#%E8%BF%9E%E6%8E%A5%E9%9B%86%E7%BE%A4
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"))
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
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
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/12829625.html#%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85python311
在安装目录中:
[root@cs redis-5.0.7]# pwd
/opt/redis-5.0.7
[root@cs redis-5.0.7]# cat redis.conf # 这个配置文件是最全的
但我们没有用这个文件,用的是:
[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