当前位置 > it书童 > redis > 正文
推荐小册
java高效编程
怎样更高效地用 java 编程

juc并发工具库
java并发编程工具库

设计模式
设计模式

jvm调优
jvm调优

rabbitmq实战
rabbitmq实战

redis实战
redis实战

Keepavlied高可用集群
Keepavlied高可用集群

nginx入门到实战
nginx入门到实战

java调试
java调试中遇到的各种坑

java输入输出流
java输入输出流

redis 主从复制

redis it书童 2019-10-05 11:59:37 0赞 0踩 600阅读 0评论

什么是主从复制

网站运行,mysql的写入、读取操作的sql语句比例:1:7

mysql为了降低每个服务器负载,可以设置读写分类(有写服务器、有读取服务器)

为了降低每个redis服务器的负载,可以多设置几个,并做主从模式

一个服务器负载“写”(添加、修改、删除)数据,其他服务器负载“读”数据

主服务器数据会“自动”同步给从服务器

Redis支持简单易用的主从复制(master-slave replication)功能,该功能可以让从服务器(slave server)成为主服务器(master server)的精确复制品。

主要作用:

主从备份,防止主服务器宕机;

读写分离,分担主服务器的任务;

任务分离,从服务器分别担任备份工作和计算工作。

注意点:

Redis使用异步复制,

一个主服务器可以有多个从服务器

不仅主服务器可以有从服务器,从服务器也可以有自己的从服务器,

复制功能不能回阻塞主、从服务器

具体配置步骤

准备两台虚拟机;

名称php69 IP192.168.1.69 主服务器

名称lnmp IP192.168.1.70 从服务器

配置操作,

主服务器配置

(1)bind 127.0.0.1改为 #bind 127.0.0.1

(2)protected-mode yes 改为 protected-mode no

从服务器配置

(1)通过slaveof指定自己的角色,主服务器的地址和IP

slaveof 主服务器ip 端口号

(2)从服务器只读

从redis2.6开始,从服务器支持只读模式,通过slave-read-only配置项配置,该模式为从服务器的默认模式

(3)指定从服务器连接主服务器的密码

如果主服务器通过requirepass选项设置了密码,为了让从服务器同步操作顺利进行,通过masterauth配置连接主服务器密码。

slaveof 192.168.1.69 6379
masterauth redispassword
slave-read-only yes

在从服务器执行info replication命令查看是否配置正确;

127.0.0.1:6379> info replication

如果撤销,只需在从服务器里面屏蔽上面的配置即可。

缺陷

每次slave服务器断开后,无论是主动断开,还是网络故障,再连接master,从服务器都要从master服务器全部dump出来rdb,再aof;即同步的过程都要重新执行一遍,所以要记住如果是多台从服务器时,不要一下子都启动起来。

关于我
一个文科出身的程序员,追求做个有趣的人,传播有价值的知识,微信公众号主要分享读书思考心得,不会有代码类文章,非程序员的同学请放心订阅
转载须注明出处:https://www.itshutong.com/articles/289/redis-master-slave-replication