什么是Redis集群
简单来说就是多个Redis服务同时进行一个任务或者在并发情况下可以分担或代替master称为一个新的master继续进行正在进行的数据处理,保证数据的完整性,一致性
为什么要使用Redis集群
高可用性:Redis集群采用主从复制的方式,当主节点发生故障时,可以自动切换到从节点,保证服务的可用性。
数据分片:通过将数据分片存储在多个节点上,Redis集群可以处理更大的数据量和更高的并发请求。同时,支持动态扩容,根据业务需求和数据量的增长,可以方便地对集群进行扩展。
负载均衡:Redis集群会自动将请求路由到正确的节点,实现负载均衡,提高系统的整体性能。此外,为了分载Master的读操作压力,Slave服务器可以为客户端提供只读操作的服务,写服务仍然由Master来完成。
无中心架构:数据按照slot分布在多个节点,每个节点都保存各自的数据和整个集群的状态,这意味着对于数据集的扩展和缩小更具有弹性。
如何搭建Redis集群
配置集群所需文件
打开虚拟机在redis的目录下创建一个redis_cluster文件夹,方便后续使用
进入文件夹创建六个子文件夹
将redis.conf文件复制到子文件夹中并查看
cp /usr/redis/bin/redis6380.conf ./7001/redis.conf
vim命令编辑redis.conf文件,将里面的端口号改为自己相应的端口号,并设置集群日志文件,集群名字,节点通信超时限制,配置完后保存并退出
# 节点数据存储目录 在不同服务器节点数据存储目录也可不要
dir "/usr/redis/redis_cluster/7001"
# 日志文件 不同服务器也可以不要
logfile "/usr/redis/redis_cluster/7001/redis_err_7001.log"
cluster-enabled yes
# 集群名字 在不同服务器上面可以不使用集群名字
cluster-config-file nodes-7001.conf
# 节点通信超时时间 有默认值,可以不设
cluster-node-timeout 15000
在上级目录内将7001的redis.conf文件复制到7002、7003、7004、7005、7006里面,并将7002、7003、7004、7005、7006里面的redis.conf文件里面的端口改成相对应的端口
echo ./7002 ./7003 ./7004 ./7005 ./7006 | xargs -n 1 cp -v /usr/redis/redis_cluster/7001/redis.conf
进入redis的bin目录启动六个redis集群配置文件并查看,也可使用shell脚本启动