Redis的集群

1.主从复制,配从不配主。
在这里插入图片描述
2.详细操作
①拷贝多个redis.conf文件
②开启daemonize yes 后台运行。
在这里插入图片描述
③Pid文件名字 redis启动后进程号所放的位置
在这里插入图片描述
④port指定端口 端口号
在这里插入图片描述
⑤Log文件名字 redis日志产生的位置
在这里插入图片描述
⑥Dump.rdb名字 RDB持久化的内容所保存的位置
在这里插入图片描述
启动三个redis
在这里插入图片描述
查看三台redis的主从关系
在这里插入图片描述
配置6380 和6381 的主节点为6379
在这里插入图片描述

在这里插入图片描述
主节点主要负责写的功能,从节点只能读不能写。
如果主节点挂了,从节点等着主节点回来
薪火相传:
在这里插入图片描述
这种集群都能写吗?
只有最大的老大能写!

如果最大的老大挂了,二老大能不能?
默认还是不能。
薪火相传 也有弊端 需要手动维护老大。

Slaveof no one

使用哨兵模式:
哨兵一直监控着老大,如果老大挂了,哨兵会再剩下的小弟中选举一个作为老大。
Sentinel.conf
在这里插入图片描述
启动哨兵:

 ./redis-sentinel /root/master-slaver/sentinel.conf 	

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述Redis集群的执行流程分析
哈希槽说明
Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。
当你往Redis Cluster中加入一个Key时,会根据crc16(key) mod 16384计算这个key应该分布到哪个hash slot中,一个hash slot中会有很多key和value。你可以理解成表的分区,使用单节点时的redis时只有一个表,所有的key都放在这个表里;改用Redis Cluster以后会自动为你生成16384个分区表,你insert数据时会根据上面的简单算法来决定你的key应该存在哪个分区,每个分区里有很多key。
搭建集群
在这里插入图片描述
1.复制多个配置文件
在这里插入图片描述
2.修改每个配置文件的内容
bind 0.0.0.0 69行
port 7000 92行
daemonize yes 136行
#打开aof 持久化
appendonly yes 700行
#开启集群
cluster-enabled yes 833行
#集群的配置文件,该文件自动生成
cluster-config-file nodes-7000.conf 841行
#集群的超时时间
cluster-node-timeout 5000 847行
3.启动redis
在这里插入图片描述
4.查看启动信息
在这里插入图片描述
5.使用命令创建集群(分配槽)

redis-cli --cluster create --cluster-replicas 1 192.168.118.110:7000 192.168.118.110:7001 192.168.118.110:7002 192.168.118.111:7003 192.168.118.111:7004 192.168.118.111:7005

在这里插入图片描述
6.测试:
在这里插入图片描述
在这里插入图片描述

注意: 不能再从节点上写操作。 否则集群可能会坏掉

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值