学习笔记——redis集群(定义、集群连接、查看集群、节点分配方式、插槽、集群中录入值、查询集群中的值、故障恢复)

学习笔记——redis集群(定义、集群连接、查看集群、节点分配方式、插槽、集群中录入值、查询集群中的值、故障恢复)2023-02-10一、集群的定义1、redis集群实现了对redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在N个节点中,每个节点存储总数据的1/N。2、redis集群通过分区来提供一定程度的可用性:即使集群中有一部分节点失效或者无法进行通讯,集群也可以继续处理命令请求二

大家好,欢迎来到IT知识分享网。

2023-02-10

 一、集群的定义

1、redis集群实现了对redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在N个节点中,每个节点存储总数据的1/N。

2、redis集群通过分区来提供一定程度的可用性:即使集群中有一部分节点失效或者无法进行通讯,集群也可以继续处理命令请求

二、-c 采用集群策略连接,设置数据会自动切换到相应的写主机

redis-cli -c -p 6379

三、通过cluster nodes命令查看集群信息

cluster nodes

学习笔记——redis集群(定义、集群连接、查看集群、节点分配方式、插槽、集群中录入值、查询集群中的值、故障恢复)

四、redis cluster分配六个节点的方式

1、一个集群至少要有三个主节点

2、选项 –cluster-replicas 1表示希望为集群中的每个主节点创建一个从节点

3、分配原则尽量保证每个主数据库运行在不同的IP地址,每个从库和主库不在一个IP地址上。

五、slots

1、slots的含义

插槽

2、说明

(1)一个redis集群包含16384个插槽(hash slot),数据库中的每个键都属于这16384个插槽的其中一个。

(2)集群使用公式CRC16(Key)%16384来计算键key属于哪个槽,其中CRC16(Key)语句属于计算键key的CRC16校验和。

(3)集群中的每个节点负责一部分插槽。例如:

节点A负责处理0号至5460号插槽;

节点B负责处理5461号至10922号插槽;

节点C负责处理10923号至16383号插槽;

六、在集群中录入值

不在一个slot下的键值,是不能使用mget,mset等多键操作。可以通过使用{}来定义组的概念,从而使key中{}内相同内容的键值放到一个slot中。

学习笔记——redis集群(定义、集群连接、查看集群、节点分配方式、插槽、集群中录入值、查询集群中的值、故障恢复)

 

 七、查询集群中的值

1、计算key应该保存在哪个插槽

cluster keyslot key

学习笔记——redis集群(定义、集群连接、查看集群、节点分配方式、插槽、集群中录入值、查询集群中的值、故障恢复)

2、计算某个插槽中保存的key的数量

cluster countkeysinslot slot

3、返回count个slot槽中的键

cluster getkeysinslot <slot> <count>

八、故障恢复

问:如果所有某一段插槽的主从节点都宕掉,redis服务是否还能继续?

如果所有某一段插槽的主从都挂掉,而

cluster-require-full-coverage

为yes,那么,整个集群都挂掉;

如果所有某一段插槽的主从都挂掉,而

cluster-require-full-coverage

为no,那么,该插槽数据全都不能使用,也无法存储,其他插槽不受影响;

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/28168.html

(0)
上一篇 2023-09-17 18:00
下一篇 2023-10-13 13:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信