1.redis集群一共有16384个虚拟slot,被均匀分配到集群里所有redis机器node上;

2.每个node之间可以互相meet操作,都知道彼此slot范围;

3.客户端向redis集群任意node发送命令,相应node使用CRC16加hash算法算出slot,如果slot命中,则返回成功影响,否则返回moved命令和正确的node号;

4.客户端收到moved命令,去目标node读写。

[root@mysql ~]# redis-cli -p 9002
127.0.0.1:9002> cluster keyslot python #计算python的slot
(integer) 7252
127.0.0.1:9002> set python best
OK
127.0.0.1:9002> set hello world      #hello的slot是866 moved产生 告诉客户端是slot 866 192.168.81.100:9003这个node
(error) MOVED 866 192.168.81.100:9003
127.0.0.1:9002> exit

redis集群客户端向目标node发送命令,而此时slot的数据已经发生迁移,则目标node就会发回ask重定向响应。

如图所示,source部分数据已经迁移到target,客户端向source发送命令,source发现slot数据已经迁移到target,就会返回给客户端ask重定向,客户端向target发送asking命令,target返回结果。

redis集群moved重定向与redis集群ask重定向相关推荐

  1. 【Redis实现系列】集群MOVED错误与ASK错误

    键操作与Moved错误 在对数据库中的16384个槽都进行了指派之后,集群就会进入上线状态,这时客户端就可以向集群中的节点发送数据命令了. 实现原理 当客户端向节点发送与数据库键有关的命令时,接收命令 ...

  2. Redis核心技术笔记——Redis主从、主从从、切片集群

    1.Redis主从集群 ​ 首先我们来谈谈Redis的高可靠性,Redis的高可靠性其实有两层含义 一是保证数据尽量少丢失或者不丢失,AOF和RDB持久化保证了 二是服务尽量少中断,Redis采用了增 ...

  3. 【Redis核心知识 八】Redis集群之Cluster模式及集群搭建

    上一篇blog[Redis从入门到放弃系列 十四]Redis集群之哨兵模式详细介绍了哨兵模式,加上之前讲到的主从复制模式,一共聊到了两种模式,实际上哨兵模式也是基于主从复制上的一种更加高可用的模式,那 ...

  4. 【Redis】高可用架构之Cluster集群和分⽚

    高可用架构之Cluster集群和分⽚ 1. 前言 2. Cluster 模式介绍 2.1 什么是Cluster模式? 2.2 为什么需要Cluster模式? 2.2.1 垂直拓展(scale up)和 ...

  5. 在centos上搭建redis集群并附测试(真集群非伪集群)

    环境:centos6.5 x86 32位 redis3.2.8 ruby-2.2.3 一. redis集群原理 redis是单线程,但是一般的作为缓存使用的话,redis足够了,因为它的读写速度太快了 ...

  6. redis在linux搭建集群,Linux/Centos 7 redis4 集群搭建

    背景说明: 项目初期使用AWS的ElastiCache Redis作为系统的数据缓存,近期由于数据量和QPS加大,导致Redis存在压力,进行了两次的单点垂直升级,缓解了目前的压力.项目组进行了数据和 ...

  7. redis db0 到 db15_深入剖析Redis系列: Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

  8. Redis:史上最强【集群】入门实践教程

    来源:我没有三颗心脏 一.Redis 集群概述 Redis 主从复制 到 目前 为止,我们所学习的 Redis 都是 单机版 的,这也就意味着一旦我们所依赖的 Redis 服务宕机了,我们的主流程也会 ...

  9. Redis(9)——史上最强【集群】入门实践教程

    一.Redis 集群概述 Redis 主从复制 到 目前 为止,我们所学习的 Redis 都是 单机版 的,这也就意味着一旦我们所依赖的 Redis 服务宕机了,我们的主流程也会受到一定的影响,这当然 ...

  10. 超详细的 Redis Cluster 官方集群搭建指南,适用于 redis 5.x, 6.x

    今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细. 旧版本使用 redis-trib.rb ruby 脚本安装集群,5.0版本redis-cli 已经自带 ...

最新文章

  1. 测试开发人员与开发人员_如何升级为开发人员
  2. SAP UI5 BarcodeScannerButton 的初始化逻辑 - feature 检测,Cordova API 检测等逻辑
  3. hihoCoder #1758 加减
  4. 睡觉时钱被转走、开房信息被叫卖、数字货币被篡改,你的安全感,还在吗?...
  5. python rabitmq_3、Python结合RabbitMQ实现消息传递
  6. 从博客复制程序到VS里面出现span style=font-size:24px;strong
  7. 【数学题】Multicolored Markers【codeforces-Round #506-div3-F】
  8. Vue使用阿里iconfont图标
  9. 推挽电路原理及应用-上N下P以及下N上P
  10. Linux中rps/rfs的原理及实现
  11. 三星android怎么解锁屏幕旋转,三星S10如何设置打开应用自动旋转屏幕
  12. 美国TJX公司 - MBA智库百科
  13. 码云上不错的几个支付相关的项目
  14. 一文读懂循环冗余校验(CRC)原理
  15. 计算机密码设置要求包括哪些内容,电脑开机密码设置方法有哪些
  16. 搭建SSH,SSZ架构需注意数据库的编码问题
  17. 2023速卖通开店入驻流程及费用,新店运营思路
  18. NOIP2012 普及组 T4 文化之旅
  19. RK3568外设资源
  20. android开发对Webview的应用

热门文章

  1. 论文笔记MEMC-Net TPAMI
  2. 【转型JAVA CSS 基础day02】
  3. 浅析医院信息集成平台现状
  4. Adobe Photoshop CC 2019 精简版本解压可用炒鸡方便
  5. 长尾效应环境下的电子商务
  6. 【01月18日】【精彩电影合集】【10部】【亲测】【Lsyq5647发布】
  7. 足不出户,一探古今,打造线上3D数字博物馆!
  8. 测绘工程和计算机专业哪个好,测绘工程专业就业前景如何
  9. 计算机实验室安全管理责任书,北京林业大学实验室安全管理责任书
  10. 使用sublime创建Android APP项目