Redis集群查找数据的过程

在Redis集群中,每个节点都会保存槽信息,比如Redis集群默认有16384个槽,假设node0节点保存了0-4000槽数据,node1保存了4001-8000槽数据,node2 保存了80001-16383槽数据,则在每个节点中,都保存有当前节点处理哪些槽数据,哪些数据由其他节点处理,如node0保存了0-4000由node0处理,4001-8000由node1处理,80001-16383由node2处理。

当客户端请求过来。如果首先到达node0,当时这个key(假设计算出槽节点为10086)所在的槽并不在node0 节点上(假设node0通过自己保存结构查询出来处理key的节点为node1,地址为127.0.0.1:7001),node0 会返回给客户端一个MOVED错误,结果类似如下

MOVED 10086 127.0.0.1:7001

这样客户端就知道它应该去127.0.0.1:7001再做请求

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容