1.主从关系
前提工作:
1. 创建了一个目录 master-slave 本人是在/home下创建的
2. 把redis配置文件复制到master-slave
redis7001.conf redis7002.conf redis7003.conf
3.分别修改上面三个文件的端口号以及rdb持久化文件的名称 , 并将aof关闭。
4. 启动redis时指定上面的三个配置文件
查看三个redis节点的信息:
配置主从关系:
在7002、7003使用 slaveof命令将7002、7003挂载到7001上
slaveof 192.168.31.24(自己虚拟机的IP) 7001
主节点负责写,并把写的内容同步到从节点上。 从节点只能负责读操作。不能写操作。
如果主节点挂掉,从节点等待主节点归来。
2.哨兵模式
修改sentinel.conf的配置
启动哨兵:
启动命令:
redis-sentinel sentinel.conf
3.去中心化集群
哨兵模式的缺点:
1. 没有解决单节点的问题。
2. 持久化文件始终在一个服务器上。
去中心化的配置:
在redis.conf中修改以下内容:
port 8001
bind 0.0.0.0
daemonize yes
appendonly yes
# 开启集群
cluster-enabled yes 833行
# 集群的配置文件,该文件自动生成
cluster-config-file nodes-8001.conf 841行
# 集群的超时时间
cluster-node-timeout 5000 847行
创建一个文件redis-cluster 存放集群文件
启动所有的redis
为主节点分配槽以及分配从节点
cluster-replica:每个主节点跟随的从节点的个数
redis-cli --cluster create --cluster-replicas 1 192.168.31.24:8001 192.168.31.24:8002 192.168.31.24:8003 192.168.31.24:8004 192.168.31.24:8009 192.168.31.24:8006
重要:必须保证aof开启,保证redis中没有数据。
访问:
redis-cli -c -h 192.168.31.24 -a xxxx -p 8001
6
重要:必须保证aof开启,保证redis中没有数据。
访问:
redis-cli -c -h 192.168.31.24 -a xxxx -p 8001
``