博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis集群(一):基本概念
阅读量:7308 次
发布时间:2019-06-30

本文共 860 字,大约阅读时间需要 2 分钟。

一、使用版本:3.0.0.0
二、基本概念:
  1. Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation)。
  2. Redis 集群使用数据分片(sharding)而非一致性哈希(consistency hashing)来实现: 一个 Redis 集群包含 16384 个哈希槽(hash slot), 数据库中的每个键都属于这 16384 个哈希槽的其中一个, 集群使用公式 CRC16(key) % 16384 来计算键 key 属于哪个槽, 其中CRC16(key) 语句用于计算键 key 的 CRC16 校验和
  3. 集群中的每个节点负责处理一部分哈希槽。 举个例子, 一个集群可以有三个哈希槽, 其中:
    1. 节点 A 负责处理 0 号至 5500 号哈希槽。
    2. 节点 B 负责处理 5501 号至 11000 号哈希槽。
    3. 节点 C 负责处理 11001 号至 16384 号哈希槽。
  4. 节点的添加和移除
    1. 如果用户将新节点 D 添加到集群中, 那么集群只需要将节点 A 、B 、 C 中的某些槽移动到节点 D 就可以了。
    2. 如果用户要从集群中移除节点 A , 那么集群只需要将节点 A 中的所有哈希槽移动到节点 B 和节点 C , 然后再移除空白(不包含任何哈希槽)的节点 A 就可以了。
  5. 主从节点的作用
    1. 假如在创建集群的时候(或者至少在节点 B 下线之前), 我们为主节点 B 添加了从节点 B1 , 那么当主节点 B 下线的时候, 集群就会将 B1 设置为新的主节点, 并让它代替下线的主节点 B , 继续处理 5501 号至 11000 号的哈希槽, 这样集群就不会因为主节点 B 的下线而无法正常运作了。
  6. 异步复制(虽然是异步复制,但是执行写命令和复制命令到从节点几乎是同时执行,所以一般不会丢失数据)
    1. 客户端向主节点 B 发送一条写命令。
    2. 主节点 B 执行写命令,并向客户端返回命令回复。
    3. 主节点 B 将刚刚执行的写命令复制给它的从节点 B1 、 B2 和 B3 。
三、参考资料:

转载地址:http://emhnm.baihongyu.com/

你可能感兴趣的文章
转载【小程序】: 微信小程序开发---应用与页面的生命周期
查看>>
如何在IDEA里给大数据项目导入该项目的相关源码(博主推荐)(类似eclipse里同一个workspace下单个子项目存在)(图文详解)...
查看>>
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字...
查看>>
Fiddler filter 过滤隐藏css、js、图片等
查看>>
parity 钱包
查看>>
JDBC优化策略总结
查看>>
Javascript -- document的createDocumentFragment()方法
查看>>
[转]bootstrap-datetimepicker 火狐浏览器报错
查看>>
windows下如何修改mysql的端口号
查看>>
Nginx核心配置文件常用参数详解
查看>>
####### Scripts Summary #######
查看>>
【深度学习】理解dropout
查看>>
jenkins中使用rsync, scp命令
查看>>
vue 的watch用法
查看>>
程序猿必备的10款超有趣的SVG绘制动画赏析
查看>>
生活中的五个球
查看>>
Day2 MySql函数以及单表查询
查看>>
借助Redis做秒杀和限流的思考
查看>>
Java Cookie和Session
查看>>
Python 字典(Dictionary)
查看>>