概念:Redis3.0版本以上开始支持cluster,采用的是hashslot(hash槽),可以将多个Redis实例整合在一起,形成一个群集,也就是将数据分散到群集的多台机器上。
原理;Redis Cluster是一个无中心的结构,每个节点都保存数据和整个群集的状态。每个节点都会保存其他节点的信息,知道其他节点所负责的槽,并且会与其他节点定时发送心跳信息,能够及时感知群集中异常的节点。
一、redis安装
yum -y install epel-release
yum -y install redis
mkdir /etc/redis
mv/etc/redis.conf /etc/redis/6379.conf
cd /etc/redis
mkdir {6380..6381}.conf
配置文件
vim /etc/redis/6379.conf
port 【6379~6384】
cluster-enabled yes
cluster-config-file nodes-【6379~6384】.conf
cluster-node-timeout 15000
启动 redis-server /etc/redis/6379.conf
redis-cli -p 6379
将其他节点加入集群
CLUSTER MEET 192.168.115.150 6380
CLUSTER MEET 192.168.115.150 6381
CLUSTER MEET 192.168.115.150 6382
CLUSTER MEET 192.168.115.150 6383
CLUSTER MEET 192.168.115.150 6384
分配slot
redis-cli -p 6379 cluster addslots {0..5461}
redis-cli -p 6381 cluster addslots {5462..10922}
redis-cli -p 6383 cluster addslots {10923..16383}
建立主从关系
redis-cli -p 6380 cluster replicate 节点id
查看节点 idcluster nodes
查看集群状态 cluster info
在主上创建一个rgq
去从进行验证