Redis集群的原理主要是围绕着‘槽’的概念展开的,先来理解集群中‘槽’的概念。reids集群是通过将所有的key进行分区来实现的,redis集群最多有16384个分区(也可以称作‘槽’,英文:slot),然后在集群节点中指定分区范围来实现。例如:集群中的节点A负责0 - 10000,节点B负责 10001-16384,每个节点负责的分区数可以自行设置。redis中的每一个key都有唯一的分区号与其对应,可以通过如下命令查询:

cluster keyslot "keyName"

源码中计算分区号的方式很简单,如下:

def slot_number(key):return CRC16(key) & 16383

当设置好redis集群中每个节点的分区范围之后,整个集群才处于可使用状态,并且集群的分区范围配置信息会在节点之间进行同步。当一个set或者get命令来到集群中的任何一个节点时,都会先计算key的分区号,如果不属于当前节点的分区,则节点会发送转移命令给客户端,让客户端去相应的节点请求数据,至此完成集群工作。

重新分片:可以让集群动态的添加节点和移除节点,通过配置节点的分区范围来实现‘重新分区’。

Redis集群原理分析相关推荐

  1. 分布式一致性协议 Gossip 和 Redis 集群原理解析

    分布式一致性协议 Gossip 和 Redis 集群原理解析 Redis 是一个开源的.高性能的 Key-Value 数据库.基于 Redis 的分布式缓存已经有很多成功的商业应用,其中就包括阿里 A ...

  2. Quartz应用与集群原理分析

    一.问题背景 美团CRM系统中每天有大量的后台任务需要调度执行,如构建索引.统计报表.周期同步数据等等,要求任务调度系统具备高可用性.负载均衡特性,可以管理并监控任务的执行流程,以保证任务的正确执行. ...

  3. redis 集群搭建_一文轻松搞懂redis集群原理及搭建与使用

    转载:https://juejin.im/post/5ad54d76f265da23970759d3 作者:SnailClimb 这里总结一下redis集群的搭建以便日后所需同时也希望能对你有所帮助. ...

  4. java集群解析文件_干货:一文详解Redis集群原理核心内容

    集群原理 一个系统建立集群主要需要解决两个问题:数据同步问题和集群容错问题. Naive方案 一个简单粗暴的方案是部署多台一模一样的Redis服务,再用负载均衡来分摊压力以及监控服务状态.这种方案的优 ...

  5. redis集群信息分析-cluster info-cluster nodes

    [README] 本文po出 redis集群的节点信息,槽信息,以及字段含义 [1]集群信息 192.168.163.203:6380> cluster info cluster_state:o ...

  6. Redis集群原理与容器化部署集群

    1.集群原理简介 1.1.什么是集群?什么是分区? 集群简单的说就是将同一个服务部署在不同的机器上,从而提高服务的横向扩展能力. 分区就是将数据分布在多个实例(服务器)上,让每一个实例都只存储一部分数 ...

  7. Redis 集群原理,再也不怕面试被问倒

    图片来自 Pexels 本文主要围绕如下几个方面介绍集群: 集群简介 集群作用 配置集群 手动.自动故障转移 故障转移原理 本文实现环境: CentOS 7.3 Redis 4.0 Redis 工作目 ...

  8. 第03课:分布式一致性协议 Gossip 和 Redis 集群原理解析

    Redis 是一个开源的.高性能的 Key-Value 数据库.基于 Redis 的分布式缓存已经有很多成功的商业应用,其中就包括阿里 ApsaraDB,阿里 Tair 中的 RDB 引擎,美团 MO ...

  9. Redis集群运维与核心原理(哨兵选举、集群选举等)剖析

    1.Redis集群方案比较 哨兵模式 高可用集群模式 redis集群是一个由多个主从节点群组成的分布式服务器群,它具有复制.高可用和分片特性.Redis集群不需要 sentinel哨兵也能完成节点移除 ...

  10. 七、Redis集群搭建

    1.搭建步骤 第一步:在第一台机器的/usr/local下创建文件夹redis‐cluster,然后在其下面分别创建2个文件夹如下 1. mkdir ‐p /opt/module/redis‐clus ...

最新文章

  1. 笔记本在Win7下使用wubi安装Ubuntu10.04 双系统
  2. android编译非静态内部类,Android 非静态内部类/匿名类引起的内存泄漏
  3. 数据结构---二叉线索树
  4. long转string mybatis_Spring+Mybatis类型转换的问题,oracle数据库中有一个clob类型,怎样在查询以后转换为String类型?...
  5. 2019年Q4中国云市场报告:阿里腾讯百度位居前三
  6. python的ubuntu环境怎么配置_python中在ubuntu中安装虚拟环境及环境配置
  7. sql tempdb清理_SQL Server 2019内存优化的TempDB元数据
  8. c语言生成2048位的大素数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
  9. windowns定时关机命令
  10. 巨杉数据库登榜互联网周刊“2022中国软件150强”及“2022大数据服务TOP150”
  11. excel2007不显示文件名
  12. dimens文件生成器
  13. vivado添加仿真源文件
  14. 电力系统服务器是什么,什么是电网调度?
  15. ZZUOJ 公主与骑士 (BFS)
  16. D3D9学习笔记之精灵变换篇
  17. 小学语文知识点总结(一)
  18. LSTM长短期记忆模型
  19. 空间数据引擎oracle_SQL/Oracle数据库是怎样与GIS的应用相联系起来的?
  20. 领取失业保险金人员参加职工医保个人不缴费

热门文章

  1. dwr 例外被抛出且未被接住 engine.js
  2. ISO26262解析(六)——硬件集成测试
  3. 汽车抛负载7637-5A/5B测试介绍
  4. java火柴人吃豆豆,4399游戏火柴人吃豆豆全图文通关攻略分享
  5. html5页面登录页面,html5练习——登录页面
  6. kali PHP网站渗透,小白日记35:kali渗透测试之Web渗透
  7. echarts入门基础教程
  8. 使用3CDaemon 进行ftp 传输文件 (linux-开发板) 的方法
  9. 如何在NVivo中获得最佳质量的音频和最佳的转录准确性
  10. 北京理工珠海学院的计算机专业怎么样,北京理工大学珠海学院怎么样?北京理工大学珠海学院优势有哪些?...