Redis 复制 与 集群

主从复制

  Redis支持一主多从的主从复制架构。一个Master示例负责所有的写请求,然后将写操作同步到所有的slave。

  可以实现读写分离。

  可以实现高可用,但是不是强一致性

  借助Redis Sentinel实现高可用,当Master crash后,能自动将一个Slave晋升为Master。

集群分片

  采用集群分片可以扩展容量和并发量。

  一般可分为客户端分片,大多以代理的方式来实现,如Twemproxy;另外官方也提供了Redis Cluster方案。

Redis Cluster

  a.能自动将数据分散在多个节点上

  b.当访问的key不在当前分片上时,能自动将请求转发到正确的分片上

  c.当集群中部分节点失效时仍能提供服务(主从复制实现,没有Sentinel,由Redis Cluster实现failover)

  原理:Redis Cluster有16384个hash slot,Redis会计算每个key的CRC16,将结果与16384取模,来决定该key存储在哪个hash slot中;同时需要制定每个数据分片负者的slot数。

 

  

posted @ 2018-04-04 16:16  lion_eagle  阅读(167)  评论(0编辑  收藏  举报