Redis Cluster的图文讲解

 更新时间:2019年01月14日 09:06:50   作者:qq_43193797  
今天小编就为大家分享一篇关于Redis Cluster的图文讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

1.1 Redis-Cluster简介

1.1.1 什么是Redis-Cluster

为何要搭建Redis集群。Redis是在内存中保存数据的,而我们的电脑一般内存都不大,这也就意味着Redis不适合存储大数据,适合存储大数据的是Hadoop生态系统的Hbase或者是MogoDB。Redis更适合处理高并发,一台设备的存储能力是很有限的,但是多台设备协同合作,就可以让内存增大很多倍,这就需要用到集群。

Redis集群搭建的方式有多种,例如使用客户端分片、Twemproxy、Codis等,但从redis 3.0之后版本支持redis-cluster集群,它是Redis官方提出的解决方案,Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。其redis-cluster架构图如下:

客户端与 redis 节点直连,不需要中间 proxy 层.客户端不需要连接集群所有节点连接集群中任何一个可用节点即可。
所有的 redis 节点彼此互联(PING-PONG 机制),内部使用二进制协议优化传输速度和带宽.

1.1.2分布存储机制-槽

(1)redis-cluster 把所有的物理节点映射到[0-16383]slot 上,cluster 负责维护node<->slot<->value

(2)Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。

例如三个节点:槽分布的值如下:

  • SERVER1: 0-5460
  • SERVER2: 5461-10922
  • SERVER3: 10923-16383

1.1.2分布存储机制-槽

(1)redis-cluster 把所有的物理节点映射到[0-16383]slot 上,cluster 负责维护node<->slot<->value

(2)Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。

例如三个节点:槽分布的值如下:

  • SERVER1: 0-5460
  • SERVER2: 5461-10922
  • SERVER3: 10923-16383

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • Linux、Windows下Redis的安装即Redis的基本使用详解

    Linux、Windows下Redis的安装即Redis的基本使用详解

    Redis是一个基于内存的key-value结构数据库,Redis 是互联网技术领域使用最为广泛的存储中间件,这篇文章主要介绍了Linux、Windows下Redis的安装即Redis的基本使用详解,需要的朋友可以参考下
    2022-09-09
  • Redis分布式缓存的安装

    Redis分布式缓存的安装

    这篇文章主要介绍了Redis分布式缓存的安装,Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件,需要的朋友可以参考下
    2023-05-05
  • Redis教程(九):主从复制配置实例

    Redis教程(九):主从复制配置实例

    这篇文章主要介绍了Redis教程(九):主从复制配置实例,本文讲解了Redis的Replication、Replication的工作原理、如何配置Replication、应用示例等内容,需要的朋友可以参考下
    2015-04-04
  • Redis如何实现分布式锁

    Redis如何实现分布式锁

    这篇文章主要介绍了Redis如何实现分布式锁问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • Redis实现单设备登录的场景分析

    Redis实现单设备登录的场景分析

    这篇文章主要介绍了Redis实现单设备登录,用户首次登录时,将用户信息存入Redis,key是用户id,value是token,当用户在其他设备登录时,会重新生成token,这个时候原先的token已经被覆盖了,本文给大家提供样例及核心代码,感兴趣的朋友参考下吧
    2022-04-04
  • Redis数据一致性问题的三种解决方案

    Redis数据一致性问题的三种解决方案

    Redis(Remote Dictionary Server ),是一个高性能的基于Key-Value结构存储的NoSQL开源数据库,大部分公司采用Redis来实现分布式缓存,用来提高数据查询效率,本文就给大家介绍三种Redis数据一致性问题的解决方案,需要的朋友可以参考下
    2023-07-07
  • 关于Redis的慢查询日志功能详解

    关于Redis的慢查询日志功能详解

    Redis慢查询是Redis提供的一项性能优化功能,它可以记录某个查询语句的执行时间、命令参数、执行次数等信息,从而帮助运维人员快速定位某个查询语句的性能问题,需要的朋友可以参考下
    2023-07-07
  • Redis 安装 redistimeseries.so(时间序列数据类型)的配置步骤

    Redis 安装 redistimeseries.so(时间序列数据类型)的配置步骤

    这篇文章主要介绍了Redis 安装 redistimeseries.so(时间序列数据类型)详细教程,配置步骤需要先下载redistimeseries.so 文件,文中介绍了启动失败问题排查,需要的朋友可以参考下
    2024-01-01
  • Redis 的 GeoHash详解

    Redis 的 GeoHash详解

    这篇文章主要介绍了Redis 的 GeoHash详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Redis中缓存预热与缓存穿透解决方案

    Redis中缓存预热与缓存穿透解决方案

    Redis缓存预热与缓存穿透是Redis缓存使用中的两个重要概念,文章首先介绍了Redis缓存预热和缓存穿透的基本概念,然后详细阐述了它们的产生原因和解决方案,感兴趣的可以了解一下
    2023-12-12

最新评论