redis主从配置(docker实现)

时间:2021-07-28 11:34:01

一、docker新建两个redis服务端,并分别设置端口为6379和6380

命令如下:

docker run -p : -d --name redis-server docker.io/redis:3.0.  redis-server --port 
docker run -p : -d --name redis-server docker.io/redis:3.0.  redis-server --port 

创建好后可以查看容器的6380端口对应本地机器的IP和端口号,确认成功

docker port redis-server2 

二、为两个redis服务端分别建立各自的客户端redis-client、redis-client2

命令如下

docker run -it --name redis-client1  docker.io/redis:3.0. redis-cli -h 172.17.0.1 -p 
docker run -it --name redis-client2  docker.io/redis:3.0. redis-cli -h 172.17.0.1 -p 

此时在docker上能看到四个不同的容器了

docker ps

通过客户端发送命令确认服务端的不同端口

info

或者

config get port

三、在redis-client2发送命令,使6380服务器成为6379的slave,通过role命令查看当前的角色

slaveof 172.17.0.1 

四、可以在redis-client1上随意set内容,redis-client2上使用get查看

注意,当6380为readonly的slave时,只能被动接受6379的内容,无法使用set

五、使用命令退出主从关系

slaveof no one

外部关闭redis服务器

redis-cli -h 127.0.0.1 -p  shutdown

通过客户端关闭:

shutdown

断开客户端连接(会先保存数据)

quit