(error) CROSSSLOT Keys in request don‘t hash to the same slot 解决方法
Redis 哈希槽基本概念
哈希槽(hash slot)是来自Redis Cluster的概念, 但在各种集群方案都有使用。
哈希槽是一个key的集合,Redis集群共有16384个哈希槽,每个key通过CRC16散列然后对16384进行取模来决定该key应当被放到哪个槽中,集群中的每个节点负责一部分哈希槽。
以有三个节点的集群为例:
- 节点A包含0到5500号哈希槽
- 节点B包含5501到11000号哈希槽
- 节点C包含11001到16384号哈希槽
这样的设计有利于对集群进行横向伸缩,若要添加或移除节点只需要将该节点上的槽转移到其它节点即可。
在某些集群方案中,涉及多个key的操作会被限制在一个slot中,如Redis Cluster中的mget/mset操作。
HashTag
HashTag机制可以影响key被分配到的slot,从而可以使用那些被限制在slot中操作。
HashTag即是用{}包裹key的一个子串,如{user:}1, {user:}2。
在设置了HashTag的情况下,集群会根据HashTag决定key分配到的slot, 两个key拥有相同的HashTag:{user:}, 它们会被分配到同一个slot,允许我们使用MGET命令。
通常情况下,HashTag不支持嵌套,即将第一个{和第一个}中间的内容作为HashTag。若花括号中不包含任何内容则会对整个key进行散列,如{}user:。
HashTag可能会使过多的key分配到同一个slot中,造成数据倾斜影响系统的吞吐量,务必谨慎使用。
mset在集群模式设置值时错误 CROSSSLOT Keys in request don’t hash to the same slot
解决方案HashTag
HashTag即是用{}包裹key的一个子串,如{user:}1, {user:}2。
(error) CROSSSLOT Keys in request don‘t hash to the same slot 解决方法相关推荐
- 记录go-redis使用集群时,报错:CROSSSLOT Keys in request don‘t hash to the same slot
问题描述 需求:从一个变化的列表list中取出第一条数据,list 10s更新一次,10s内不能一直取第一条,需要均衡: bug代码: // lua脚本 var copyIndexScript str ...
- MySQL显示ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)解决方法
MySQL显示ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)解决方法 参考文章: (1)MySQL显示 ...
- MySQL5.7报错[ERROR] Unix socket lock file is empty /tmp/mysql.sock.lock的解决方法
MySQL5.7报错[ERROR] Unix socket lock file is empty /tmp/mysql.sock.lock的解决方法 参考文章: (1)MySQL5.7报错[ERROR ...
- Error, some other host already uses address 192.168.0.202错误解决方法
Error, some other host already uses address 192.168.0.202错误解决方法 参考文章: (1)Error, some other host alre ...
- win7 、2008 提示Error 1606 Could Not Access Network Location %SystemDrive%/inetpub/wwwroot/ 的错误解决方法
win7 .2008 提示Error 1606 Could Not Access Network Location %SystemDrive%/inetpub/wwwroot/ 的错误解决方法 参考文 ...
- 关于Error in render: TypeError: Cannot read property '0' of null问题的解决方法
关于Error in render: "TypeError: Cannot read property '0' of null"问题的解决方法 //这里是原生代码块,也就是运行该块 ...
- youtube_dl urlopen error EOF occurred in violation of protocol (_ssl.c:nnn) 错误的解决方法
youtube_dl urlopen error EOF occurred in violation of protocol (_ssl.c:nnn) 错误的解决方法 参考文章: (1)youtube ...
- Android出现Error: Invoke-customs are only supported starting with Android O (--min-api 26)的解决方法
Android出现Error: Invoke-customs are only supported starting with Android O (–min-api 26)的解决方法 在app下的b ...
- 【转载】“error LNK1169: 找到一个或多个多重定义的符号”的解决方法
c++的小细节的地方 原文地址:https://blog.csdn.net/xiaosu123/article/details/5665729 问题描述如下: 有 三个源文件,A.h.B.cpp.C. ...
最新文章
- c++多线程队列 类对象
- 【Python基础】盘点 Python 10 大常用数据结构(上篇)
- 手把手教你写DI_2_小白徒手撸构造函数注入
- OLE DB , ODBC , ADO 知识了解
- 数列求和 java_[代码展示]数列求和
- 嵌入式基础面八股文——并发,同步,异步,互斥,阻塞,非阻塞的理解(2)
- [Canvas]空战游戏进阶 增加己方子弹管理类
- win7计算机桌面位置,win7系统更改桌面位置的操作方法
- 论文笔记A Liver Segmentation Method Based on the Fusion of VNet and WGAN
- 获取鼠标图片和鼠标位置的方法
- activemq学习记录(二)(使用p2p模式和使用发布订阅模式去生产以及消费数据)
- 昆明理工大学计算机考研分数线,昆明理工大学2015考研分数线已公布
- c语言中Exec函数,子进程的执行 -- exec 函数
- Win10 安装 PySC2 环境 -- DeepMind联合战网开发的《星际争霸 II》强化学习环境
- 2017年国庆随笔----- 心理学随笔
- 口语语汇单词篇(7)
- 直播出新规 这些行为会被限制参加活动
- VC 多屏控制显示文章整理
- 时间序列的分析和预测
- IDEA:Lambda expression are not supported at language level ‘5‘
热门文章
- python最新功能_Python在2020的新增功能:第1部分
- 英语语法---动名词短语详解
- 【商业落地篇】Gartner第四范式全球首发AutoML系列白皮书(限时免费下载)
- 科技、体育、创业,三者碰撞是真的野!
- 【论文解读】比特币:一种点对点的点子支付系统
- 【机器学习基础】太棒了!这里有385篇自然语言处理和机器学习领域的综述总结...
- 【Python基础】高效的10个Pandas函数,你都用过吗?
- 我是如何提高工作和研究效率的?分享给大家几个神器
- 而立之年,不拼体力的我们应该关注什么?
- 隐私安全的必答题,网易云信如何解?