八、Redis的集群说明

redis的集群应该解决3各问题:

​ 高存储,高并发,高可用!!

  1. redis的集群模式有3种

    1. 主从复制
    2. 哨兵模式
    3. cluster模式
  2. 各集群模式的特点

    1. 主从复制

      一个mater几点带N各从节点,从主节点写入,从节点读取。当主节点挂掉时,集群将不再提供写服务。

      必须手动重启主节点或重新配置主从复制集群才能重新生效。同时,集群的存储容量是固定的,不能通过增加节点来增加存储容量。

      该模式可以通过读写分离,解决高并发的问题,但不能解决高可用和高存储的问题。

    2. 哨兵模式

      哨兵模式的出现就是为了解决主从复制高可用问题。当主节点挂了后,哨兵可以推选出一个新的主节点,让集群继续提供读和写的服务。

      该模式解决了高可用和高并发的问题,但是没有解决高存储的问题。

    3. cluster模式

      该模式是一个去中心化的集群模式。集群中有多个master节点,不同的key被分派存储在不同的master节点中。并且多个主节点提供高并发的请求服务。如果master节点挂掉后,集群可以推选该节点的从节点成为新的master节点。可以通过增加节点来增加存储容量和高并发请求。

      该节点解决了高存储,高并发,高可用3个问题!! 但是当一个master和它的从节点都挂掉时,集群将不再提供服务。

Redis作为缓存时和数据库的操作顺序说明

​ 缓存和数据库的数据应该保持一致性。简单来说就是,缓存中有的数据,数据库中一定要有。数据库中有的数据,缓存中不一定会有。在读取该数据时再写入缓存中。

  1. 当写入或修改一个key时

    应该先写入数据库,再写入缓存。

    说明如下:

    1.	当写入数据库失败时,整个操作失败,不必再写入缓存
    2.	当写入数据库成功时,缓存写入成功或失败,都可以判断本次写入操作成功!如果缓存写入失败,在下次获取时可以从数据库中读取。
    3.	如果先写缓存,就会出现缓存写入成功,数据库写入失败的情况。这时候数据就不一致了。
    
  2. 当删除一个key时

    应该先删除缓存,再删除数据库

    说明如下:

    1.	当删除缓存失败时,整个操作失败,不必再删除数据库
    2.	当缓存删除成功,数据库删除失败,该操作失败。数据库中还保留有数据,下次读取时会从数据库重新设置一份到缓存中,这时的数据还是一致的。
    3.	如果先删数据库,就会出现数据库删除成功,缓存删除失败的情况,这时数据就不一致了。
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值