【Redis】Redis持久化方式
2024-01-10 15:37:15
Redis 中有两种持久化方式,分别为 RDB
和 AOF
。
RDB
RDB 全称 Redis Database Backup file
,也叫做 Redis 数据快照。简单来说就是把 Redis 中的数据记录到磁盘中。当 Redis 实例故障重启后,从磁盘读取快照文件,恢复数据。
RDB有两种备份方式,一种是主动备份,一种是Redis 内部执行备份
主动备份
主动备份就需要我们手动执行命令。
Redis中有两个命令,一个是 save
,一个是 bgsave
,这两个命令又有些区别。
save
命令会使用主进程来执行 RDB ,阻塞其他所有命令;
bgsave
开启子进程执行 RDB,避免主进程命令受到影响。
注意:这里是进程而不是线程
Redis 内部执行备份
Redis内部执行备份,只需要我们修改配置即可
RDB执行原理
fork 采用技术需要知道,并且能够答出
面试题:RDB 做快照的时候数据能修改吗?
save
命令是同步的会阻塞客户端命令,bgsave
命令是可以修改的
面试题:Redis是怎么解决在bgsave做快照的时候允许数据修改?
结合上图,如果说主线程执行读数据,那么主线程和子线程互不影响。如果说主线程执行写操作,那么被修改的数据会复制一个副本,然后bgsave子进程会读这个副本,然后写入到RDB文件。这个过程,主进程是可以继续修改原来文件的
AOF
AOF 全称 Append Only File
。Redis 处理的每一个写命令会记录在 AOF 文件中,可以看成命令记录文件。
AOF 默认是关闭的,我们可以通过配置打开。
AOF 重写功能:
参考链接
文章来源:https://blog.csdn.net/weixin_44078354/article/details/135501970
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!