有两篇文章不错,可以看下:

1,初步理解redis cluster:https://blog.csdn.net/dc_726/article/details/48552531

2,仔细理解redis cluster的扩容和缩容:https://www.jianshu.com/p/c67041648309

笔记:redis cluster是通过固定分配的方式查找key所在的节点的,hash(key) % 16383,得到的结果是一个整数。

redis会存储:

slotA-slotB => node1

slotC-slotD => node2

slotE-slotF => node3

...

这样固定分配slot-id到对应的node上的。

当扩容时,把之前的slot节点,分配出去一部分。然后把数据也迁移到新的节点上,然后通知cluster新的节点对应了哪些slot,通知成功后完成扩容。

当缩容时,把要删除节点的slot分配到其它节点上,把数据迁移过去,通知cluster 新的slot分配关系已经改变,通知成功后完成缩容。

redis的扩容和缩容时需要手工干预的。OVER!

43 【redis cluster】的更多相关文章

  1. 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总

    本篇基于redis 4.0.11版本,学习发布订阅.事务.脚本.连接的相关命令. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 序号 ...

  2. Jedis使用总结【pipeline】【分布式的id生成器】【分布式锁【watch】【multi】】【redis分布式】(转)

    前段时间细节的了解了Jedis的使用,Jedis是redis的java版本的客户端实现.本文做个总结,主要分享如下内容: [pipeline][分布式的id生成器][分布式锁[watch][multi ...

  3. 【Data Cluster】真机环境下MySQL数据库集群搭建

    真机环境下MySQL-Cluster搭建文档  摘要:本年伊始阶段,由于实验室对不同数据库性能测试需求,才出现MySQL集群搭建.购置主机,交换机,双绞线等一系列准备工作就绪,也就开始集群搭建.起初笔 ...

  4. 【redis持久化】redis持久化理解

    1.以下内容仅为个人理解和总结,仅供参考,万万不可全盘真信,内容会进行实时改进和修正 2.redis持久化: 参考链接1.https://redis.io/topics/persistence  -- ...

  5. 【Redis安装】部署与基本配置 --基于Mac和Linux

    Redis安装与部署[基于Mac和Linux] 一.Redis简介 基于内存的Key-Value高性能NoSQL数据库 二.Redis下载和解压 进入官网下载最新版的Redis,目前是5.0.0,这个 ...

  6. 【Redis学习】:Windows环境下的Redis安装与配置

    Redis简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C ...

  7. 【Redis篇】Redis持久化方式AOF和RDB

    一.前述 持久化概念:将数据从掉电易失的内存存放到能够永久存储的设备上. Redis持久化方式RDB(Redis DB)   hdfs:    fsimageAOF(AppendOnlyFile)   ...

  8. 【Redis篇】Redis集群安装与初始

    一.前述   本文将单台节点不同端口模拟集群方式. 二.具体搭建 前提是安装好redis具体可参考http://www.cnblogs.com/LHWorldBlog/p/8463269.html 1 ...

  9. 【Redis篇】初始Redis与Redis安装

    一.前述 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括st ...

随机推荐

  1. 【python接口自动化框架-unittest】如何传参数到下一个case

    1.前提 平时我们用unittest的时候,都知道每个test_ 都是相互独立的,但是很多现实情况是,我们下一个接口参数,可能会用到上一个接口返回的json字段,那么,我们怎么去实现呢 2.实例 1. ...

  2. s2第二章深入c#类型

    S2第二章预习笔记  深入c# 数据类型 常用类型      java     c#     举例 整形          int     int     年龄 浮点型        float    ...

  3. go 调用windows dll 的方法

    go 调用windows dll 的方法 ,代码如下: package main import ( "fmt" "syscall" "time&quo ...

  4. 第一个Python小项目:图片转换成字符图片

    实现的效果:                                                                                               ...

  5. 乐乐课堂_leleketang.com

    乐乐课堂_leleketang.com https://www.baidu.com/sf?pd=video_page&sign=12394301609542619800&word=抛物 ...

  6. php执行系统命令的四个函数shell_exec, exec, passthru, system分别的使用场景

    shell_exec() 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回.也就是说, PHP先运行一个shell环境, 然后让shell进程运行你的命令, 并且把所有输出已字符串形 ...

  7. python eval()和exec()以及complie()

    1.eval() 函数 eval() 函数用来执行一个字符串表达式,并返回表达式的值. ------->>  eval(expression[, globals[, locals]]) 参 ...

  8. mysqldump备份与恢复笔记

    mysql> show databases; +--------------------+ | Database           | +--------------------+ | inf ...

  9. hadoop2.6.4集群笔记

    ---恢复内容开始--- 一,linux下的准备工作 1,修改主机名: vi /etc/sysconfig/network 2,修改ip vi /etc/sysconfig/network-scrip ...

  10. java反射的性能问题

    java反射效率到底如何,花了点时间,做了一个简单的测试.供大家参考. 测试背景: 1. 测试简单Bean(int,Integer,String)的set方法2. loop 1亿次3. 测试代码尽可能 ...