当前位置:网站首页>集群中命令的执行过程
集群中命令的执行过程
2022-06-26 14:38:00 【华为云】
redis集群中命令的执行过程
如果客户端向群集中的节点发送关键命令,则只需将具有密钥的槽位分配给当前节点即可进行处理,如果不在当前节点上,则向客户端返回MOVED命令。 此命令将客户端重定向到正确的节点,然后再次发送命令。 在集群模式下,MOVED命令将隐藏
包含数据库密钥的插槽的计算
CRC 16 (密钥) % 16384计算密钥密钥所属的插槽。 其中,CRC16 ) key语句用于计算密钥key的CRC16校验和。 群集密钥槽密钥可以查看将此密钥分配给哪个插槽
节点与插槽的关联存储
节点如何确定这个插槽是否是自己负责的?显然是通过集群状态结构体的slots数组,如果该槽位所指示的集群节点是集群状态的myself属性值,则由该节点负责,否则基于所指示的集群节点
键与插槽的关联存储
集群中数据库键值对的保存只能使用0号数据库。 除了将键值对保存在数据库中外,节点还通过clusterState中的slots_to_keys跳转表来保存键与插槽之间的直接关系。 每个节点的score是插槽号,成员是数据库的键。 每当节点向数据库添加键值对时,都会从跳转表中添加密钥与槽位的关联,而删除键值对时,也会从跳转表中删除密钥与槽位的关联。 此跳转表中的记录允许批量操作插槽中的所有数据库键。
总结
这就是集群中命令的执行过程,客户端发送命令,如果有关槽位的命令在当前节点就执行,不在当前节点就返回move命令,然后重定向到负责这个槽位的节点,计算数据库key的槽位是根据key的crc16的值与16384取模,16384是redis所有的槽位,集群的slots数组的元素执行当前节点说明槽位是由这个节点负责的。
️ 感谢大家
如果你觉得这篇内容对你挺有有帮助的话:
- 欢迎关注我️,点赞,评论,转发
- 关注
盼盼小课堂
,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。 - 有不当之处欢迎批评指正。
边栏推荐
- 聊聊 RPA 方向的规划:简单有价值的事情长期坚持做
- Use abp Zero builds a third-party login module (I): Principles
- Informatics Olympiad 1405: sum and product of prime numbers (thinking problem)
- 年薪50万是一条线,年薪100万又是一条线…...
- Detailed explanation of C language programming problem: can any three sides form a triangle, output the area of the triangle and judge its type
- 详解C语言编程题:任意三条边能否构成三角形,输出该三角形面积并判断其类型
- 券商经理给的开户链接安全吗?找谁可以开户啊?
- Electron
- 一个快速切换一个底层实现的思路分享
- Informatics Olympiad all in one 1400: count the number of words (string matching)
猜你喜欢
随机推荐
MHA high availability coordination and failover
Understand the difference and use between jsonarray and jsonobject
【雲原生】 ”人人皆可“ 編程的無代碼 iVX 編輯器
Informatics Olympiad all in one 1400: count the number of words (string matching)
fileinput. js php,fileinput
Detailed explanation of C language programming problem: can any three sides form a triangle, output the area of the triangle and judge its type
A remove the underline from the label
券商经理给的开户链接办理股票开户安全吗?我想开个户
人的顶级能量从哪里获取?
Electron
NVIDIA SMI error
ArcGIS batch export layer script
Numpy基本使用
R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的均值和中位数、指定na.rm参数配置删除缺失值
2022年最新贵州建筑八大员(机械员)模拟考试题库及答案
一个快速切换一个底层实现的思路分享
国信证券的排名如何?办理股票开户安全吗?
Mark: unity3d cannot select resources in the inspector, that is, project locking
聊聊 RPA 方向的规划:简单有价值的事情长期坚持做
《三体》摘录