docker系列(4)集群Redis

docker pull redis:latest

redis集群是为了强化redis的读写能力。

redis集群中,每一个redis称之为一个节点。 节点一般分为主节点和从节点

一直将自己数据同步到从节点

主节点可读,可写,但是从节点只读,提高读的能力并且保证数据的安全性

最简单版redis集群

在网上看到很多redis集群处理,不过大多都特别复杂,这里记录一个简单版的redis处理

首先启动redis容器,这里启动三个容器,其中一个为主两个为从

docker run --name redis-6379 -p 6379:6379 -d redis
docker run --name redis-6380 -p 6380:6379 -d redis
docker run --name redis-6381 -p 6381:6379 -d redis

启动后运行docker ps查看是否启动成功

然后使用 docker inspect 容器ID 查看容器内网IP地址

使用redis-6379为主机,其余两台为从机使用

docker exec -ti 容器ID /bin/bash

分别进入三个Redis容器
进入容器后,使用

redis-cli 

命令,连接redis服务端连接服务后,使用

info replication

查看当前机器的角色,未配置前,三台redis均为 master主机

分别在redis-6380和redis-6381使用

SLAVEOF 172.17.0.2 6379

命令,这里的172.17.0.2,是redis-6379的内部IP地址, 在redis-6379 使用 info replication 命令,验证主从关系是否配置成功

哨兵模式

当使用redis时可能会因为异常使主服务器宕机,这时候需要人工启动,但是费事费力,这个时候就需要使用哨兵模式,哨兵模式的原理是启动一个进程,此进程独立运行,进程向机器发送命令,等待redis响应,如果这个时候主机宕机会自动切换到其他机器并且通过发布订阅模式通知其他从服务器更换主机地址

docker exec -it redis-6380 /bin/bash

redis-sentinel sentinel.conf

docker run -d --name s1 -p 26379:26379 -v /root/app/redis:/data redis redis-sentinel sentinel.conf

docker run -d --name redis-6380 -p 6380:6380 -v /root/app/redis:/data redis redis-server redis-6380.conf

sentinel monitor mymaster 172.30.0.3 6379 1

docker run -d --name s1 -p 26379:26379 -v /root/app/redis:/data redis redis-sentinel sentinel.conf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值