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"

成功

分类: redis 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录