首页 / REDIS / 10_Redis主从复制
10_Redis主从复制
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了10_Redis主从复制,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2138字,纯文字阅读大概需要4分钟。
内容图文
![10_Redis主从复制](/upload/InfoBanner/zyjiaocheng/865/507bb2b2d52c4ba782ae666e3693af6f.jpg)
是什么
持久化保证了即使redis服务重启也不会丢失数据,但是当redis服务器的硬盘损坏了可能会导致数据丢失,通过redis的主从复制机制就可以避免这种
单点故障
(单台服务器的故障)。
特点:
- 主redis中的数据和从上的数据保持实时同步,当主redis写入数据时通过主从复制机制复制到两个从服务上
- 主从复制不会阻塞master,在同步数据时,master 可以继续处理client 请求
- 主机master配置:无需配置
怎么做
工作中一般选用:一主两从或一主一从
数据会同步到从服务器。
在这个集群中的几台服务器上都有同样的数据。
主从搭建步骤
主机:不用配置。仅仅只需要配置从机,从机slave配置:(这里是伪集群)
1、复制出一个从机,
注意使用root用户
[root@xj0927 myapps]# cp redis/ redis3 -r
[root@xj0927 myapps]# ll
drwxr-xr-x. 3 root root 4096 Sep 11 15:42 redis
drwxr-xr-x. 3 root root 4096 Sep 11 16:03 redis3
2、修改关联的主机地址
修改从机的redis.conf
vim redis.conf
修改内容如下:
replicaof 主机ip 主机端口号
3、修改从机的port
修改redis.conf配置文件:
# 地址为6380(自定义)
port 6380
4、清除从机中的持久化文件
有则清除:否则不同步
[root@localhost bin]# rm -rf appendonly.aof dump.rdb
5、启动从机
[root@localhost redis1]# ./bin/redis-server ./redis.conf
6、查看
查看 redis 信息:
info replication
7、测试
# 启动6380的客户端
[root@xj0927 redis3]# ./bin/redis-cli -h 192.168.77.130 -p 6380
192.168.77.130:6380>
# 从主机添加一条数据:
192.168.77.130:6379> set k8 haha
OK
# 从机得到数据:
192.168.77.130:6380> get k8
"haha"
复制原理
主机一旦发生增删改操作,那么从机会自动将数据同步到从机中
从机不能执行写操作,只能读
复制过程:
-
当从库和主库建立MS(master slaver)关系后,会向主数据库发送SYNC命令;
-
主库接收到SYNC命令后会开始在后台保存快照(RDB持久化过程),并将期间接收到的写命令缓存起来;
-
快照完成后,主Redis会将
快照文件和所有缓存的写命令
发送给从Redis; -
从Redis接收到后,会载入快照文件并且执行收到的缓存命令;
-
主Redis每当接收到写命令时就会将命令发送从Redis,保证数据的一致;【内部完成,所以不支持客户端在从机人为写数据。】
宕机情况
从redis宕机:重新启动即可
主redis宕机:
从数据库(从机)中执行SLAVEOF NO ONE
命令,断开主从关系并且提升为主库继续服务[把一个从机做为主机,这个时候新主机[之前的从机]就具备写入的能力];主服务器修好后,重新启动后,执行
SLAVEOF
命令,将其设置为从库[老主机设置为从机]。缺点:手动执行,过程复杂,容易出错。
内容总结
以上是互联网集市为您收集整理的10_Redis主从复制全部内容,希望文章能够帮你解决10_Redis主从复制所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。