Redis持久化基础知识

来源:互联网 发布:mac怎么打开flac 编辑:程序博客网 时间:2024/06/16 05:26

Redis持久化机制
(1) 总体说明
Redis支持RDB和AOF两种持久化机制。RDB是定时存盘,AOF是将每次写入都记录到日志中,更加完整。RDB和AOF可以同时使用,但Redis重启时优先从AOF恢复数据。
(2) RDB方式:
优点:
—-很容易实现每个小时备份或每天做备份,数据备份在紧凑型文件中,易于传输
—-fork子进程做备份,不影响运行时性能
—-Redis重启时加载很快
缺点:
—-定时的坏处是在发生故障时,会丢失一部分数据
—-在数据集较大时,fork子进程耗时较长,可能导致服务短暂阻塞,或CPU负载过高
如何配置:
默认使用RDB备份。在配置文件中,save 60 10000,可以配置多个SAVE命令。
也可以命令行触发SAVE或BGSAVE。
内部实现流程:
—-fork出子进程
—-子进程将数据集写入临时RDB文件
—-子进程写入完毕后,替换当前RDB文件
SAVE和BGSAVE区别:
SAVE(阻塞客户端)或者BGSAVE(非阻塞),推荐使用BGSAVE
(3) AOF方式
优点:
—-使用AOF能尽量减少数据丢失(1秒)。由于操作系统存在缓存机制,AOF提供3中刷盘策略:不强制刷盘(让OS自行决定何时刷盘),每秒刷盘一次(默认),每次查询都刷盘。刷盘频率可能影响性能
—-AOF采用追加日志方式,在发生极端事件(断电或磁盘满)也不会导致文件损毁
—-当AOF文件过大时,Redis自动创建新文件,并自动进行输出切换
—-AOF日志记录易于阅读和解析
缺点:
—-相同数据集下,AOF文件比RDB大很多
—-数据存盘时AOF一般要比RDB慢,AOF no fsync 策略和 RDB性能差不多
—-AOF可靠性不如RDB
如何配置:
默认不开启,appendonly yes|| appendfsync everysec || appendfilename “appendonly.aof”
(4) RDB和AOF可以同时使用

原创粉丝点击