redis集群

Posted 起帆的岛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis集群相关的知识,希望对你有一定的参考价值。

redis集群 redis锁

1.Redis集群是一个提供在多个redis节点间共熟数据的程序集。

2.redis集群的数据分片
(1)Redis没有使用一致性hash而是引入hash槽的概念。
(2)Redis集群共有16384个hash槽(不管redis有几台机器,整个集群一共有16384个hash槽)。每个key经过CRC16校验后,对16384取余来决定放到哪个hash槽。
(3)比如一个集群有A、B、C、3台机器,那么
节点A,包括0到5500号hash槽
节点B,包含 5501到11000hash槽
节点C,包含11001到16384号hash槽

3.slot存储
(1)Bit位存储
(2)1个slot

3.redis集群的优势
(1)集群通过分区,提供一定程度的可用性
(2)自动把数据路由到不同的结点上
(3)整个集群的部分节点不可用或不可达时,其余节点可继续处理

4.redis的主从复制模型
(1)每个主节点都有 n+1个slave,为了保证在master不可用时,能够快速把slave切换成master
(2)主从的数据复制,采用的是异步复制,
I.客户端写请求
II.master写入,告诉客户端写成功了
III.数据从master复制到Slave
所以说redis集群的一致性只是弱一致性

5.重新分片,使用reshard命令可以增加节点,重新分槽
./redis-trib.rb reshard 127.0.0.1:7000

6.reids集群与CPA理论
(1)CAP,一致性,原子性,分区容错性,三者不可兼得,只有取其中的一种,最多两种,
(2)redis从单机变成集群后,由一致性、原子性(CA)变成了一致性,分区容错性(CP)


7.redis锁
SETNX set if not exist























以上是关于redis集群的主要内容,如果未能解决你的问题,请参考以下文章

redis集群为啥要ruby

如何安装Redis集群

分布式缓存技术redis学习系列——redis高级应用(集群搭建集群分区原理集群操作)

redis集群介绍redis集群搭建配置redis集群操作

Redis集群模式

redis高级应用(集群搭建集群分区原理集群操作)