一、Redis的主从复制
Redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master),一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而从数据库只能有一个主数据库。
通过redis的复制功能可以很好地实现数据库的读写分离,提高服务器的负载能力,主数据库主要负责写操作,而从服务器负责读操作。
redis主从复制的过程:
1、当一个从数据库启动时,会向主数据库发送sync命令
2、主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来
3、当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库
4、从数据库收到命令后,会载入快照文件并执行收到的缓存的命令
二、Redis的持久化机制
redis持久化,就是将内存数据保存到硬盘
包括RDB和AOF两种模式
1、RDB持久化
是以二进制文件,在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上一次持久化的文件,达到数据恢复。
优点:使用单独子进程进行持久化,主进程不会进行任何IO操作,保证了redis的高性能
缺点:RDB是间隔一段时间持久化,如果持久化期间redis发生故障,会发生数据丢失。
2、AOF持久化
Append-only file,将“操作+数据”以格式化指令的方式追加到操作日志文件的尾部,在append操作返回后(已经写入到文件或者即将写入),才进行实际数据的变更,“日志文件”保存了历史所有的操作过程;当server需要数据恢复时,可以直接replay此日志文件,即可还原所有的操作过程。AOF相对可靠,文件内容是字符串,非常容易阅读和理解。
优点:可以保持更高的数据完整性
缺点:AOF文件比RDB文件大,且恢复速度慢。
Redis同步和持久化机制
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 面试题 redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的? 面试官...
- 原文出处:https://github.com/doocs/advanced-java/blob/master/d...
- 今天青石的票圈出镜率最高的,莫过于张艺谋的新片终于定档了。 一张满溢着水墨风的海报一次次的出现在票圈里,也就是老谋...
- 一、jQuery简介 JQ是JS的一个优秀的库,大型开发必备。在此,我想说的是,JQ里面很多函数使用和JS类似,所...