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

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

时间:2023-02-10 11:57:48浏览次数:50  
标签:插槽 redis cluster 集群 key 节点

2023-02-10

 一、集群的定义

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

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

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

redis-cli -c -p 6379

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

cluster nodes

四、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中。

 

 七、查询集群中的值

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

cluster keyslot key

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

cluster countkeysinslot slot

3、返回count个slot槽中的键

cluster getkeysinslot <slot> <count>

八、故障恢复

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

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

cluster-require-full-coverage

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

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

cluster-require-full-coverage

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

 

标签:插槽,redis,cluster,集群,key,节点
From: https://www.cnblogs.com/isDaHua/p/17107779.html

相关文章

  • redis-命令操作-String&hash,list,set&sortedset,通用命令
    redis-命令操作-String&hashString类型存储:setkeyvalue获取:getkey删除:delkey   Hash类型存储:hsetkeyfieldvalue  获取:hgetkeyfield:获取指......
  • dophinscheduler单机伪集群模式安装
    1.jdk安装Oracle官网下载jdk8rmp-ivh2.CentOS7安装Mysql8yuminstallwget删除默认的mariadb添加MySQLyum源wgethttps://dev.mysql.com/get/mysql8......
  • redis命令操作
    redis命令操作——list列表类型list:可以添加一个元素到列表的头部(左边)或者尾部(右边)添加:1、lpushkeyvalue:将元素加入列表左边2、rpushkeyvalu......
  • K8s集群证书过期或延期(kubeadm)
    不同的K8S版本操作有些许不同,所以建议在遇到问题时先查询K8S官方文档1、连接Api-server失败,报证书已过期不可用$kubectlgetnode,podUnabletoconnecttotheser......
  • redis-数据结构介绍
    redis-数据结构介绍redis的数据结构redis存储的是:key,value格式的数据,其中key都是字符串,value有五种不同的数据结构value的数据结构:字符串类型......
  • TiDB集群安装TiDB Dashboard
    TiDBDashboard是从TiDB4.0版本起引入的可视化面板,用于帮助观察与诊断整个TiDB集群,详情参见 ​​TiDB文档-TiDBDashboard​​。本篇文章将介绍如何在Kubernetes......
  • redis概念以及redis下载与安装
    redis概念概念:redis是一款高性能的NOSQL系列的非关系类型数据库关系型数据库:1、数据之间有关联关系2、数据存储在硬盘文件中非关系型数据库:1、数据之间......
  • 学习笔记——redis持久化之RDB、AOF
    2023-02-10一、redis提供了2个不同形式的持久化方式1、RDB(RedisDataBase)2、AOF(AppendOfFile)二、RDB的定义RDB是在指定的时间间隔内将内存中的数据集快照写入磁盘,即......
  • Redis网络模型,IO多路复用
    IO多路复用无论是阻塞l0还是非阻塞lO,用户应用在一阶段都需要调用recvfrom来获取数据,差别在于无数据时的处理方案:*如果调用recvfrom时,恰好没有数据,阻塞IO会使进程阻塞,非......
  • mariadb 集群 重启的几种情形
    最近项目中遇到过一次mariadb集群中三台节点有两台挂掉的情况。总结了一下mariadb集群可能遇到的几种情况需要重启。 环境说明:mariadb集群ip:10.0.101.5110.0.101......