Redis 主从复制

环境

两个centos容器,里面执行yum安装redis、supervior

---作为主服务器  使用镜像是 centos 7
docker run -it --name centos-redis centos:lastet bash
yum -y install epel-release redis supervior
---作为从服务器
docker run -it --name redis-s1 centos:lastet   bash
yum -y install epel-release redis supervior

进入容器中---主服务器

mkdir /etc/redis
cd /etc/redis
cp /etc/redis.conf /etc/redis
mv redis.conf 6379.conf
----------------------------------------
bind   0.0.0.0
----------------------------
需要执行重启redis服务

编写守护supervisor 守护redis

vim /etc/supervisord.d
[program:redis-6379]   
command=/usr/bin/redis-server /etc/redis/6379.conf   
autostart=true              
autorestart=true            
startsecs=10                
startretries=3             
exitcodes=0,2               
stopsignal=QUIT             

stopwaitsecs=1
user=root                  
log_stdout=true           
log_stderr=false            
logfile=/var/log/redis-6379.log   
logfile_maxbytes=1MB        
logfile_backups=3   
      
[include]
files = relative/directory/*.ini

执行命令启动redis

#启动服务
supervisord
#查看状态
supervisorctl 
image.png

进入从容器中

配置跟主容器一样 也需要下载redis、supervisor进行修改配置文件
添加一条命令显示这个容器是从服务器

vi /etc/redis/6379.conf
# slaveof  
slaveof  172.17.0.2 6379
#这个主机ip是主服务器的ip地址

// 配置此服务器只提供读取操作 默认是yes状态
slave-read-only yes

配置完从服务器就可以启动服务了

然后测试

redis-cli -h 172.17.0.2
#从服务器连接主服务器
Redis 主从复制_第1张图片
image.png
redis-cli -h  172.17.0.3
#主服务器连接从服务器
Redis 主从复制_第2张图片
image.png

现在我们要在主服务器上开始记录数据了

  • 首先我们需要在从服务器上进行如下操作
slaveof  172.17.0.2 6379
image.png
  • 接着就可以在主服务器操作了
set n 100
image.png
Redis 主从复制_第3张图片
image.png

这样我们就能看到主服务器上有的 在从服务器上也能看到了

你可能感兴趣的:(Redis 主从复制)