码迷,mamicode.com
首页 > 其他好文 > 详细

Redis Cluster

时间:2019-03-28 20:38:25      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:target   搭建   主从   批量   部分   class   redis 集群   red   数据保存   

集群教程:http://redisdoc.com/topic/cluster-tutorial.html

一、为什么要使用Redis集群?

通常,为了提高网站响应速度,总是把热点数据保存在内存中而不是直接从后端数据库中读取。Redis是一个很好的Cache工具。大型网站应用,热点数据量往往巨大,几十G上百G是很正常的事儿。由于内存大小的限制,使用一台 Redis 实例显然无法满足需求,这时就需要使用 多台 Redis (集群)作为缓存数据库。才能在用户请求时快速的进行响应。

二、Redie集群架构之Redis Cluster

RedisCluster使用数据分片(sharding)来实现: 一个 Redis 集群包含16384个哈希槽(hash slot), 数据库中的每个键都属于这16384个哈希槽的其中一个,集群使用公式HASH_SLOT = CRC16(key) 16384来计算键key属于哪个槽。

群中的每个节点负责处理一部分哈希槽。 举个例子, 一个集群可以有三个哈希槽, 其中:

  • 节点 A 负责处理 0 号至 5500 号哈希槽。
  • 节点 B 负责处理 5501 号至 11000 号哈希槽。
  • 节点 C 负责处理 11001 号至 16383 号哈希槽。

三、Redis Cluster中的主从复制

为了使得集群在一部分节点下线或者无法与集群的大多数(majority)节点进行通讯的情况下, 仍然可以正常运作, Redis 集群对节点使用了主从复制功能: 集群中的每个节点都有 1 个至 N 个复制品(replica), 其中一个复制品为主节点(master), 而其余的 N-1 个复制品为从节点(slave)。

技术图片

优点:

  • 无需Sentinel哨兵监控,如果Master挂了,Redis Cluster内部自动将Master对应的某一个Slave切换成Master;不过,如果有一个Master及其所有Slave都挂了的话,比如0 -5500 号哈希槽下的Master和Slave都挂了,Redis Cluster将会停止运作。
  • 可以进行水平扩容。

缺点:

  • 资源隔离性较差,不保证数据的强一致性。
  • 批量操作没有被实现,这是一个坑。

注意:Redis Cluster不像单机 Redis 那样支持多数据库功能(db0 ~ db15), 集群只使用默认的  0 号数据库,即 db0。

四、Redis Cluster 搭建

 

Redis Cluster

标签:target   搭建   主从   批量   部分   class   redis 集群   red   数据保存   

原文地址:https://www.cnblogs.com/believepd/p/10617435.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!