redis主从同步
redis主从同步,主主要是用来写,从用来读,分别有3台redis服务器,1主2从方案,配置如下,当然也可以一主一从。
服务器名 IP REDIS版本 方式 系统
server1 192.168.0.11 3.2.12 主 centos7
server2 192.168.0.12 3.2.12 从 centos7
server3 192.168.0.13 3.2.12 从 cetnos7
主从模式密码
主 requirepass loshub^&*
从 masterauth loshub^&*
打开server1、2、3的防火墙
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
把server1的数据分别同步到server2和3上
先安装redis,通过yum方式安装
yum install epel-release -y
yum install redis -y
接下来写配置文件.各自的redis配置文件
/etc/redis.conf
server1上主配置文件
bind 192.168.0.11
protected-mode no
daemonize yes
appendonly yes
requirepass loshub^&*
requirepass,REDIS访问密码
在server2和server3上的配置文件
#bind 127.0.0.1
protected-mode no
daemonize yes
appendonly yes
slaveof 192.168.0.11 6379
masterauth loshub^&*
现在启动redis,分别在server1、2、3上执行下列代码
systemctl start redis
systemctl enable redis
查看有无成功运行
ps -ef | grep redis
显示以下代码证明成功
redis 2118 1 0 16:06 ? 00:00:02 /usr/bin/redis-server 192.168.0.11:6379
root 2128 1671 0 16:30 pts/0 00:00:00 grep --color=auto redis
在server1上查看有无同步
redis-cli -h 192.168.0.11
auth loshub^&*
在输入
info replication
显示
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.0.12,port=6379,state=online,offset=2254,lag=1
slave1:ip=192.168.0.13,port=6379,state=online,offset=2254,lag=1
master_repl_offset:2254
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:2253
证明两台成功同步
接下来我们测试同步数据
set name loshub
显示OK,代码如下
192.168.0.11:6379> set name loshub
OK
现在测试server2
redis-cli -h 192.168.0.12
输入
get name
显示
192.168.0.12:6379> get name
"loshub"
成功
现在测试server3
redis-cli -h 192.168.0.13
输入
get name
显示
192.168.0.12:6379> get name
"loshub"
成功
版权申明
本文系作者 @天边的云 原创发布在Loshub站点。未经许可,禁止转载。
暂无评论数据