首页 > 代码库 > redis主从配置(docker实现)

redis主从配置(docker实现)

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

命令如下:

docker run -p 6379:6379 -d --name redis-server docker.io/redis:3.0.7  redis-server --port 6379
docker run -p 6380:6380 -d --name redis-server docker.io/redis:3.0.7  redis-server --port 6380

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

docker port redis-server2 6380

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

命令如下

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

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

docker ps

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

info

或者

config get port

 

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

slaveof 172.17.0.1 6379

 

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

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

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

slaveof no one

 外部关闭redis服务器

redis-cli -h 127.0.0.1 -p 6379 shutdown

通过客户端关闭:

shutdown

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

quit

 

redis主从配置(docker实现)