首页 > 数据库 >Redis-cluster

Redis-cluster

时间:2022-11-11 10:46:14浏览次数:42  
标签:slot Redis cluster 集群 key master 节点

Redis3.0 之后引入了 Redis Cluster 集群方案,它用来解决分布式扩展的需求,同时也实现了高可用机制。

 

集群要求至少有3个master,每个master负载均衡负责读写,同时每个master还有2个slave,在master宕机的时候,salve会被选举为master

所以需要9个节点来完成redis-cluster

(1)由多个Redis服务器组成的分布式网络服务集群;

(2)集群之中有多个Master主节点,每一个主节点都可读可写;

(3)节点之间会互相通信,两两相连;

(4)Redis集群无中心节点。

  (5)  master和slave之间,数据保持同步

 

集群分片策略

  • 节点 1 负责处理 0 号至 5460 号哈希槽。
  • 节点 2 负责处理 5460号至 10922号哈希槽。
  • 节点 3 负责处理 10923号至 16383 号哈希槽。

集群将整个数据库分为16384个槽位slot,所有key-value数据都存储在这些slot中的某一个上。一个slot槽位可以存放多个数据,key的槽位计算公式为:slot_number=crc16(key)%16384,其中crc16为16位的循环冗余校验和函数。ps:如果key不在对应的节点上,节点会负责转发到正确节点

 

由于Redis集群无中心节点,请求会随机发给任意主节点;

主节点只会处理自己负责槽位的命令请求,其它槽位的命令请求,该主节点会返回客户端一个转向错误;

客户端根据错误中包含的地址和端口重新向正确的负责的主节点发起命令请求。

标签:slot,Redis,cluster,集群,key,master,节点
From: https://www.cnblogs.com/jack1990/p/16879781.html

相关文章

  • redission分布式redis锁使用
    publicvoidlock(Stringkey,List<Long>idx){if(CollectionUtils.isEmpty(idx)){return;}idx.forEach(id->{RLocklock=redissonCl......
  • Linux上安装Redis教程
    1、执行下面的命令下载redis: wgethttps://download.redis.io/releases/redis-6.2.6.tar.gz 2、解压redis:sudotar-zxvfredis-6.2.6.tar.gz3、删除压缩包......
  • CentOS7.9安装twemproxy,实现redis集群
    1、twemproxy下载下载地址:https://github.com/twitter/twemproxy.gitcd/www/servermkdirtwemproxycdtwemproxygitclonehttps://github.com/twitter/twemproxy.......
  • 【Redis】散列表(Hash)和列表(List)的运用和理解以及Hash和List应用场景对比详解
    一.散列表(hash)Redis哈希是字符串类型字段和值的映射表。哈希特别适合存储对象。Redis中的每个哈希可以存储232-1个键值对(超过40亿)。1.1基本操作RedisHset命令......
  • java使用redis存储时出现乱码问题
    今天用springboot做项目的时候,使用到了redis来做缓存。然后在存入redis的时候遇到了乱码的问题,这个问题是出现在序列化上,但是这个问题很好解决,晚上的方法也很多。因为......
  • Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after
    Causedby:io.lettuce.core.RedisCommandTimeoutException:Commandtimedoutafter10second(s)atio.lettuce.core.ExceptionFactory.createTimeoutExcepti......
  • Redis数据结构简介-Set
     Set结构存储值与结构读写能力:包含字符串的无序收集器(unorderedcollection),且数据不重复.添加,获取,移除单个元素;检查一个元素是否存在于集合中;......
  • Redis数据结构简介-Hash
     Hash结构存储值与结构读写能力:包含键值对的无序散列表添加,获取,移除单个键值对;获取所有键值对.存储类似HashMap的数据 hash是日常开发过......
  • Redis数据结构简介-List
     List结构存储值与结构读写能力:一个链表,链表上的每个节点都包含了一个字符串从链表的两端推入或者弹出元素;根据偏移量对链表进行修剪(trim);读取单......
  • Redis 中 hash 扩容与缩容
    Redis中hash扩容与缩容当哈希表中元素数量逐渐增加时,此时产生hash冲突的概率逐渐增大,且由于dict也是采用拉链法解决hash冲突的,随着hash冲突概率上升,链表会越来越......