(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. ...
最新文章
- 桌面倒计时2.0 涉及知识点详解及源码分享
- qt 使用非系统字库
- a为数组名。sizeof(a)和sizeof(a)有什么区别?结果是?
- javalibrary 线上_线上的少儿口才培训班-1V1精品课程【演讲与口才吧】
- 复盘无人业态的三点心得:起于共享单车,止于何?
- Android build.gradle 获取Git 仓库数据
- [转]使用wget命令下载Google drive上的文件
- UVA211 TheDomino Effect 多米诺效应
- java基础篇---网络编程(IP与URL)
- 如何搭建html运行环境,搭建真实的运行环境2019.4.22
- C语言题目地图上有m个城市,序号依次为1,2,3....m,刚开始你在1,若每次只能从当前城市去往当前序号加1或者加3的城市,要到达m城市(m3),有多少种走法
- udp 使用connect优点_一文搞懂TCP和UDP的区别
- 单KEY业务,数据库水平切分架构实践
- 大岩俊之实用性阅读指南pdf_《实用性阅读指南》:二八法则、笔记法......开启你的阅读技能...
- web测试之性能测试
- 坐标正反算例题_坐标正算公式例题
- 川大计算机类专业的录取分数线,四川大学重点专业排名及录取分数线
- JavaScript基于qrcode.js带Logo彩色二维码(艺术二维码)
- iPhone支持杜比的机型
- 数说故事「行业热点快报」连锁餐饮行业企业动态
热门文章
- tensorflow2调用huggingface transformer预训练模型
- c语言省2全民,C语言省试题(2-数据类型)101016.ppt
- java joda 获取utc时间_java – 使用JodaTime以毫秒为单位的UTC到本地时间
- c++17(2)-枚举类enum class
- 【机器学习】模型又线上线下不一致怎么办?
- (视频+图文)机器学习入门系列-第10章 人工神经网络
- 清华博士教你如何用推荐算法技术「找到女朋友」
- AI基础:简易数学入门
- 网易云信携手房天下打造高质量音视频会议
- 如何设计实时数据平台(设计篇)