我是靠谱客的博主 舒心太阳,最近开发中收集的这篇文章主要介绍redis如何实现主从复制叙述小结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 叙述
    • 如何实现
      • 一.配置 redis.conf 配置文件
      • 二.启动多个 redis-server 服务
      • 三.启动多个 redis-cli 客户端
      • 四.Master & Slave
      • 五.演示主从复制的过程
  • 小结


叙述

持久化保证了即使 redis 服务重启也不会丢失数据,因为 redis 服务重启后会将硬盘上持久化的数据恢复到内存中,但是当 redis 服务器的硬盘损坏了可能会导致数据丢失,如果通过 redis 的主从复制机制就可以避免这种单点故障.

如何实现

想要实现主从复制就必须开启多个 redis 服务,使用不同的 pid,指明不同的端口号,生成不同的 rdb 文件,产生不同的日志文件。

一.配置 redis.conf 配置文件

1.将 redis 的配置文件复制多份:
在这里插入图片描述
2.将它们都设置为后台进程:
在这里插入图片描述
3.为它们配置不同的 pidfile(pid 文件名):
在这里插入图片描述
例:6379,6380,6381。

4.为它们配置不同的 port(端口):
在这里插入图片描述
5.为它们配置不同的 logfile(日志文件):
在这里插入图片描述
6.为它们配置不同的 dbfilename(rdb文件名):
在这里插入图片描述

二.启动多个 redis-server 服务

开启三个 Linux 远程连接客户端,在每一个客户端上开启一个 redis 服务。

./redis-server --port 6379
./redis-server --port 6380
./redis-server --port 6381

三.启动多个 redis-cli 客户端

在每个 Linux 终端上开启一个 redis-cli 客户端连接到不同端口号上的 redis 服务:

./redis-cli -p 6379
./redis-cli -p 6380
./redis-cli -p 6381

四.Master & Slave

将其中的一个 redis 服务做为 Master,其余两个 redis 服务做为 Slave
已经开启的三个 redis 客户端:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在 6380 和 6381 两个客户端中输入 slaveof 127.0.0.1 6379 命令,使这两个 redis 服务成为 6379 的 slave。

然后,分别在每个 redis 客户端输入 info replication 命令,显示每个 redis 服务在这个小型集群里面扮演的角色:

  • 6379 为 master:
    在这里插入图片描述
  • 6380 为 6379 的 slave:
    在这里插入图片描述
  • 6381 为 6379 的 slave:
    在这里插入图片描述

五.演示主从复制的过程

我们在 master 上执行 set k1 v1,预期的结果是在另外两个 slave 上 通过 get k1 命令可以获取对应的键值:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
成功了!当然,我们还可以发现其实在 master 上也是可以 read 的。


小结

Redis 的主从复制的缺点

  • 当 master 需要同步发送到 slave 上的数据量非常大的时候,会存在一定的时延。
    当系统很繁忙或者 slave 机器数量非常多的时候也会使这个问题更加严重。

正是因为有了redis的主从复制的缺点,所以就了redis的哨兵机制,接下来为大家分享.

本篇博客借鉴了 https://blog.csdn.net/a909301740/article/details/81531528 感谢博主的分享.
感谢您的阅读~~

最后

以上就是舒心太阳为你收集整理的redis如何实现主从复制叙述小结的全部内容,希望文章能够帮你解决redis如何实现主从复制叙述小结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部