Redis集群
2022/3/22 2:27:44
本文主要是介绍Redis集群,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Redis集群
是什么
Redis集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N.
Redis集群通过分区来提供一定程度的可用性:即使集群中有一部分节点失效或者无法进行通讯,集群也可以继续处理命令请求
实现步骤
-
删除持久化数据 将rdb,aof文件都删除掉
-
制作6个实例,6379,6382,6381,6389,6390,6391 (集群搭建至少要3个主节点)
-
配置基本信息
include /myredis/redis.conf pidfile "/var/run/redis_6379.conf" port 6379 dbfilename "dump6379.rdb" cluster-enabled yes 打开集群模式 cluster-config-file nodes-6379.conf 设置节点配置文件名 cluster-node-timeout 15000
设定节点失联时间,超过改时间(毫秒),集群自动进行主从切换 -
拷贝多份配置文件,并进行相关修改
-
启动6个redis服务
-
将6个节点合成一个集群,组合之前,请确保所有redis实例启动后,nodes-xxx.conf文件都生成正常
注:低版本要先需要安装ruby,再使用以下命令进行合成
./redis-trib.rb create --replicas 1 192.168.43.55:6379 192.168.43.55:6380 192.168.43.55:6381 192.168.43.55:6389 192.168.43.55:6390 192.168.43.55:6391
高版本,在/redis x.x.x/src中的redis-cli内置了ruby环境
redis-cli --cluster create --cluster-replicas 1 192.168.43.55:6379 192.168.43.55:6380 192.168.43.55:6381 192.168.43.55:6389 192.168.43.55:6390 192.168.43.55:6391
-
使用
redis-cli -c -p 6379
连接到一台主机 -
使用
cluster nodes
查看集群信息
什么是slot
一个Redis集群中包含16384个插槽(hashsolt),数据库中的每个键都属于这16384个插槽的其中一个。
举个例子,如果一个集群有三个主节点:
节点A负责处理0号至5460号插槽
节点B负责处理5461号至10922号插槽
节点C负责处理10923号至16383号插槽
故障恢复
如果某一段插槽的主节点down掉,那么它的从节点升级为主节点,待主节点重新连接上后,它则变为从节点。
如果某一段插槽的主节点和从节点一起down,则根据配置决定
-
cluster-require-full-coverage为yes,那么,整个集群都down掉
-
cluster-require-full-coverage为no,那么,该段插槽数据都不能使用,也无法存储
优势
-
实现扩容
-
分摊压力
-
无中心化配置相对简单
劣势
-
多键操作是不被支持的
-
多键的Redis事务是不被支持的
这篇关于Redis集群的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识