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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
您可能感兴趣的文章:
- 如何查看JUnit的源码(图文讲解)
- SQL Server JDBC Driver配置方法(图文讲解)
- win7_64位主机装虚机Linux系统(VMware Workstation10+CentOS6.5)详细步骤图文讲解
- 第一阶段-入门详细图文讲解tensorflow1.4 API-tf.truncated_normal
- 8大排序算法图文讲解[转]
- 第一阶段-入门详细图文讲解tensorflow1.4 -(十)TensorBoard: Graph Visualization
- 图文讲解:iOS App提交流程
- 图文讲解NTFS和FAT32硬盘下 asp.net 生成word 错误: 80070005 和 错误:8000401a 的解决方法
- 在VS2010上使用C#调用非托管C++生成的DLL文件(图文讲解)
- "二叉树"-实现数据结构算法,完全解析,通俗易懂的图文及代码讲解
- 结合代码图文讲解JavaScript中的作用域与作用域链
- 图文讲解如何搭建Apache服务器
- 图文讲解如何在godaddy注册的域名如何修改DNS指向 转载
- 8大排序算法图文讲解 分类: Brush Mode 2014-08-18 11:49 78人阅读 评论(0) 收藏
- 8大排序算法图文讲解
- 8大排序算法图文讲解
- [算法设计] 8大排序算法图文讲解
- 图文讲解jenkins的安装与配置---远程发布、自动监测代码更新
- redis基础——安装redis和java使用redis(不涉及命令,图文讲解,20170825时windows的redis版本3.2.100)
- android studio 可调试、可查看源码的jni开发环境搭建图文讲解