微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Redis主从复制

Redis支持集群功能。为了保证单一节点可用性,redis支持主从复制功能。每个节点有N个复制品(replica),其中一个复制品是主(master),另外N-1个复制品是从(Slave),也就是说Redis支持一主多从。一个主可有多个从,而一个从又可以看成主,它还可以有多个从。

1、主从优点

增加单一节点的健壮性,从而提升整个集群的稳定性,Redis中当超过1/2节点不可用时,整个集群不可用。从节点可以对主节点数据备份,提升容灾能力。读写分离:在redis主从中,主节点一般用作写(具备读的能力),从节点只能读,利用这个特性实现读写分离,写用主,读用从。

 2、一主多从搭建

(1)在已经搭建的单机版redis基础上进行操作,并且关闭redis单机版。

./redis-cli shutdown

 (2)新建目录

# mkdir /usr/local/replica

(3)复制目录

把之前安装的redis单机版中bin目录复制三份,分别叫做:master、slave1、slave2

# cp -r /usr/local/redis/bin /usr/local/replica/master
# cp -r /usr/local/redis/bin /usr/local/replica/slave1
# cp -r /usr/local/redis/bin /usr/local/replica/slave2

(4)修改从的配置文件

修改2个从的redis.conf,指定主节点ip和端口。并修改自身端口号防止和其他redis冲突。

# vim /usr/local/replica/slave1/redis.conf

修改自己端口

port 6380

指定主节点ip和端口

replicaof 192.168.1.129 6379 

# vim /usr/local/replica/slave2/redis.conf 

修改自己端口

port 6381

指定主节点ip和端口

replicaof 192.168.1.129 6379 

(5)启动三个redis实例

注意:一定要关闭单机的redis,否则端口冲突。

# cd /usr/local/replica
# vim startup.sh

文件添加下面内容

cd /usr/local/replica/master/
./redis-server redis.conf
  cd /usr/local/replica/slave1
./redis-server redis.conf
  cd /usr/local/replica/slave2
./redis-server redis.conf 

 效果图如下:

赋予权限

# chmod a+x startup.sh 

开启

# ./startup.sh 

(6)查看启动状态

# ps aux|grep redis

效果图如下: 

 (7)测试

# cd /usr/local/replica/master/
# ./redis-cli  

在客户端命令行模式下,添加一条数据:

set testname testvalue 

进去slave查看数据是否同步  

# cd /usr/local/replica/slave1
# ./redis-cli -p 6380 

ctrl+c 退出slave1
# ./redis-cli -p 6381 

效果图如下: 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐