概述
文章目录
- 叙述
- 如何实现
- 一.配置 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如何实现主从复制叙述小结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复