redis 复制

关键词

  • slave 从Redis服务器
  • Master 主redis服务器
    说明 :每次当主从redis 链接断开时 都会自动链接,并且无论这期间 master 发生了什么, slave 都将尝试让自身成为 master 的精确副本。

链接的三个重要机制

  • 当一个 master 实例和一个 slave 实例连接正常时, master 会发送一连串的命令流来保持对 slave 的更新,以便于将自身数据集的改变复制给 slave ,
    包括客户端的写入、key 的过期或被逐出等等。
  • 当 master 和 slave 之间的连接断开之后,因为网络问题、或者是主从意识到连接超时, slave 重新连接上 master 并会尝试进行部分重同步:这意味着它会尝试只获取在断开连接期间内丢失的命令流。
  • 当无法进行部分重同步时, slave 会请求进行全量重同步。这会涉及到一个更复杂的过程,例如 master 需要创建所有数据的快照,将之发送给 slave ,之后在数据集更改时持续发送命令流到 slave 。

特点

  • 一个主服务器 可以有多个从服务器
  • 从服务器可以做为主服务器 Master=>slave(Master)=>slave

当 master 关闭持久化时,复制的安全性

  • 在使用 Redis 复制功能时的设置中,强烈建议在 master 和在 slave 中启用持久化。当不可能启用时,例如由于非常慢的磁盘性能而导致的延迟问题,应该配置实例来避免重置后自动重启。 不然会导致数据丢失

配置

  • 需要搭建主从复制我们只需要在Redis.conf 文件中进行配置即可,下面介绍如何使用Docker 作为从服务器

docker

  • Docker pull redis --拉取redis 镜像
  • 下载redis.conf 到本地 用来挂载到docker
  • 在redis.conf 中加入 slaveof 主服务器ip 主服务器端口 将port 配置为6380 避免冲突
  • 打开主服务器
  • 启用docker
docker run -p:6380:6380 --net=host --name myredisSavlos -v /home/yh/redis/salveredis/redis-6.0.6/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf --appendonly yes
  • – net=host 与本机进行映射
  • –name myredissavlos 别名
  • – -v 文件映射 前面为本机 后面为容器redis路径
  • – -d redis 后台启动
  • –appendonly yes 开启持久化
  • – -p:6380:6380 端口映射

现在主从架构就配置完成了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值