redis集群支持在多个节点之间进行数据共享。redis集群提供了以下两个好处
1:将数据自动切分(split)到多个节点的能力
2:当集群中的某一个节点故障时,不会影响处理客户端请求的能力。
一个 Redis 集群包含 16384 个哈希槽(hash slot),数据库中的每个数据都属于这16384个哈希槽中的一个。集群使用公式 CRC16(key) % 16384 来计算键 key 属于哪个槽。集群中的每一个节点负责处理一部分哈希槽。这样的话就可以很方便的向集群中添加或者移除节点。(假设集群中有A B C 三个节点)
添加节点:如果要添加一个D节点到集群中,那么只需要将节点ABC中的某些哈希槽移动到节点D就可以了
移除节点:如果要移除节点A,那么只需要把节点A中的所有哈希槽转移到节点B和节点C中,然后再移除空白节点A就可以了。
集群中的主从复制
集群中的每个节点都有1个至N个复制品,其中一个为主节点,其余的为从节点,如果主节点下线了,集群就会把这个主节点的一个从节点设置为新的主节点,继续工作。这样集群就不会因为一个主节点的下线而无法正常工作。
注意:如果某一个主节点和他所有的从节点都下线的话,redis集群就会停止工作了。
redis集群不保证数据的强一致性,在特定的情况下,redis集群会丢失已经被执行过的写命令
使用异步复制(asynchronous replication)是 Redis 集群可能会丢失写命令的其中一个原因
网络原因,如果网络断开时间太长,redis集群就会启用新的主节点,之前发给主节点的数据就会丢失。
集群必须是3.0及其以上版本
集群安装:设置3主3从
集群动态添加主节点 从节点
集群动态删除主节点 从节点
见附件文档。
集群操作:
使用redis-cli客户端来操作redis集群
使用命令 redis-cli -c -p [port]来启动
重新分片,重新分片操作基本上就是将某些节点上的哈希槽移动到另外一些节点上面.
使用命令./redis-trib.rb reshard 127.0.0.1:7000
执行 redis-trib 的第一步就是设定你打算移动的哈希槽的数量:
接着 redis-trib 会向你询问重新分片的源节点(source node),也就是需要把哪个节点中转移哈希槽(可以使用all)
最后输入 yes 并使用按下回车之后, redis-trib 就会正式开始执行重新分片操作
集群操作的一些命令
redis-cli -p 7000 cluster nodes [| grep master] (查看集群中的节点)
redis-cli -p 7002 debug segfault(使节点失效)
集群图片:
相关推荐
在使用redis集群时,发现过期key始终监听不到。网上也没有现成的解决方案。于是想,既然不能监听集群,那我可以建立多个redis连接,分别对每个redis的key过期进行监听。以上做法可能不尽人意,目前也没找到好的解决...
k8s集群搭建redis集群 k8s集群搭建redis集群 k8s集群搭建redis集群 k8s集群搭建redis集群 k8s集群搭建redis集群
阿里云公网redis集群搭建以及访问,本人亲测,可以成功搭建,java访问公网redis集群,
Springboot整合Redis集群,零配置方式;另外用AOP实现了操作缓存的三套自定义注解,有兴趣的小伙伴可以试试看.
redis集群安装 centos6.6 vmware 亲自安装并校验过 绝对可用
使用redis安装用户,在命令行连接上redis集群后,执行命令:config set requirepass 【自定义的强密码】,如: config set requirepass mypassword@#75@~ 然后执行 config rewrite 将配置密码持久化到redis配置文件...
1、新旧redis集群迁移 2、支持redis集群的存量和增量数据迁移 3、支持redis集群数据的离线迁移
Redis集群配置文件,包含了三个主节点,三个从节点的配置文件,该配置是在docker中运行,有完整的docker-compose.yml文件,只要修改映射的宿主机的路径为你自己的路径。然后直接docker-compose up既可以完成环境启动...
java连接redis集群批量String类型插入
springboot集成redis集群,redis安装包配置,参考文章:https://blog.csdn.net/zhizhuodewo6/article/details/82316164
springboot整合redis集群(三种方式)源码
redis集群自动搭建脚本,按照脚本中说明,简单修改ip 端口等参数 便可执行脚本自动搭建redis集群,适用centos7.X版本
Redis集群搭建所需要的所有工具及Windows系统下连接Redis数据库的客户端软件,内附Redis集群搭建教程
nginx+lua+redis 集群 连接插件和脚本,原来插件是没有密码功能 故 修改了一下 k可以自己下载使用
rancher2.3.6部署redis集群配置教程,完整的配置。这是经过实践部署后的配置,拿来按照上面的配置马上就可以使用。
Spring + redis集群的集成 spring-data-redis-1.8.1.RELEASE.jar jedis-2.9.0.jar spring-data-commons-1.8.1.RELEASE.jar commons-pool2-2.4.2.jar
一键启动redis集群
10.1.8 是否使用过Redis集群,集群的原理是什么?
采用spring-data-redis 搭建redis集群,代码包含redis工具类,可存储对象集合,maven项目,部署可运行。
Redis集群测试