本文主要是介绍Redis - 持久化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Redis 的持久化方式有两种:RDB、AOF
RDB
RDB 是某个时间点数据的快照,可以定期全量备份。
原理:
- 父进程 fork 子进程
- 子进程将数据写入临时 RDB 文件中
- 子进程完成写入时,用临时 RDB 替换掉旧的 RDB
- 假如1点开始备份数据,1点以后的数据不会被备份,因为子进程看不到父进程的数据
优点:恢复速度快。
缺点:窗口期数据易丢失。
AOF
AOF 记录每次写操作的日志。
如果每次写操作都记录日志,最终的 AOF 文件就会无限大,如何解决这个问题呢?
- 重写。Redis 择时将内存中的数据备份到临时 AOF 文件中,备份时点之后的数据先写到缓存中,临时 AOF 文件完成写入之后,再将缓存中的数据写入临时 AOF 文件,最后用临时 AOF 文件替换掉旧的 AOF 文件。
- 从 4.x 版本开始 AOF 文件支持 RDB+AOF 的混合体,重写是写 RDB,然后在 AOF 文件开头记录 RDB 文件的信息。
优点:丢失数据少
这篇关于Redis - 持久化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!