聊聊redis集群的三种方式

redis集群有三种方式:主从复制,哨兵,集群(master-cluster)。

1.主从复制(Master-Slave)

数据库分为两类,Master数据库和Slave数据库。
有以下特点:
1.master一般是接受读写的,slave只接受读操作。
2.当master接受写操作后会将命令发送给slave执行,从而实现数据一致性
3.一个master下面可以有多个slave,但是一个slave上面只能有一个master
原理:
1 从服务器连接主服务器发送sync命令。
2 主服务器持久化数据生成rdb文件并缓存这段时间的写命令
3 主服务器向从服务器发送rdb文件和缓存的命令
4 从服务器载入rdb快照后执行缓存的命令(从服务器初始化完成)
5 主服务器每接收到一个写命令就发送给从服务器执行(从服务器初始化完成后的操作)

2 .哨兵模式

哨兵是用来监控主从数据库的,当master挂掉后选择一个salve当做master。

与master建立连接后,哨兵会执行三个操作,这三个操作的发送频率都可以在配置文件中配置:

定期向master和slave发送INFO命令
定期向master个slave的_sentinel_:hello频道发送自己的信息
定期向master、slave和其他哨兵发送PING命令

master挂掉后从slave中选取规则
1.所有在线的slave中选择优先级最高的,优先级可以通过slave-priority配置
2.如果有多个最高优先级的slave,则选取复制偏移量最大(即复制越完整)的当选
3.如果以上条件都一样,选取id最小的slave

3.集群:

redis的哨兵模式基本已经可以实现高可用,读写分离 ,但是在这种模式下每台redis服务器都存储相同的数据,很浪费内存,所以在redis3.0上加入了cluster模式,实现的redis的分布式存储,也就是说每台redis节点上存储不同的内容。
使用集群,只需要将每个数据库节点的cluster-enable配置打开即可。每个集群中至少需要三个主数据库才能正常运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值