作家
登录

同为分布式缓存,为何Redis更胜一筹?

作者: 来源: 2018-03-26 15:24:22 阅读 我要评论

3.Redis集群

Redis在3.0中也惹人了集群的概念,用于解决一些大年夜数据量和高可用的问题,然则,为了达到高机能的目标,集群不是强一致性的,应用的是异步复制,在数据到主节点后,主节点返回成功,数据被异步地复制给大年夜节点。

起首,我们来进修Redis的集群分片机制。Redis应用CRC16(key) mod 16384进行分片,一共分16384个哈希槽,比如若集群有3个节点,则我们按照如下规矩分派哈希槽:

  • A节点包含0-5500的哈希槽;
  • B节点包含5500-11000的哈希槽;
  • C节点包含11000-16384的哈希槽。

这里设置了3个主节点和3个大年夜节点,集群分片如图所示。

图中共有3个Redis主大年夜办事器的复制节点,个中随便率性两个节点之间都是互相连通的,客户端可以与个中随便率性一?节点相连接,然后拜访集群中的随便率性一?节点,对其进行存取和其他操作。

那Redis是怎么做到的呢?起首,在Redis的每个节点上都邑存储哈希槽信息,我们可以将它懂得为是一个可以存储两个数值的变量,这个变量的取值范围是0-16383。根据这些信息,我们就可以找到每个节点负责的哈希槽,进而找到数据地点的节点。

Redis集群实际上是一个集群治理的插件,当我们供给一个存取的关键字时,就会根据CRC16的算法得出一个结不雅,然后把结不雅除以16384求余数,如许每个关键字都邑对应一个编号为0-16383的哈希槽,经由过程这个置魅找到对应的插槽所对应的节点,然后直接主动跳转到这个对应的节点长进行存取操作。然则这些都是由集群的内部机制实现的,我们不须要手工实现。

作者介绍

杨彪,蚂蚁金服技巧专家,《分布式办事架构:道理、设计与拭魅战》和《可伸缩办事架构:框架恿闼殇件》作者。近10年互联网和游戏行业工作经验,曾在酷我音乐盒、人人游戏和掌趣科技等上市公司担负核心研发职位,做过日活泼用户量达切切的项目,也做过多款月流水切切以上的游戏。

【编辑推荐】

  1. 如安在Go说话中应用Redis连接池
  2. signalR+redis分布式聊天办事器搭建
  3. Redis缓存技巧进修系列之事务处理
  4. Spring Boot 整合 Redis 实现缓存操作
  5. Shiro整合springboot,freemaker,redis(含权限体系完全源码)
【义务编辑:未丽燕 TEL:(010)68476606】

  推荐阅读

  binlog2sql实现MySQL误操作的恢复

沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践! 对于MySQL数据库中的误操作删除数据的恢复问题,可以应用基于MySQL中binlog做到类似于闪回或者生成反向操作的S>>>详细阅读


本文标题:同为分布式缓存,为何Redis更胜一筹?

地址:http://www.17bianji.com/lsqh/40888.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)