Redis中两种持久化机制RDB和AOF

1、RDB就是把数据以快照的形式保存在磁盘上,也是默认的持久化方式,提供了三种机制:save、bgsave、自动化。

(1)save触发方式,执行save命令其间,redis不能处理其他命令;

(2)bgsave触发方式,redis 会在后台异步进行快照操作,能同时处理其他命令,具体操作是redis进程执行fork操作创建子进程,RDB持久化过程由子进程负责,完成后自动结束,fork阶段会发生阻塞,但一般时间很短,这也是RDB持久化方式默认采用的机制;

(3)自动触发是配置文件触发,在redis.conf配置文件中,①save,save 300 10,表示300 秒内如果至少有 10 个 key 的值变化,则保存;②stop-writes-on-bgsave-error :默认值为yes,当启用了RDB且最后一次后台保存数据失败,redis是否停止接收数据;③rdbcompression ;默认值是yes,设置是否进行压缩存储;④rdbchecksum :默认值是yes,是否让redis使用CRC64算法来进行数据校验;⑤dbfilename :设置快照的文件名,默认是 dump.rdb;⑥dir:设置快照文件的存放路径


(4)优势以及劣势,RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快,非常适合用于进行备份和灾难恢复,但在在快照持久化期间修改的数据不会被保存,可能丢失数据

2、AOF也有三种触发机制:每修改同步always、每秒同步everysec、不同no。

(1)每修改同步always:每次发生数据变更会被立即记录到磁盘,性能差但是数据完整

(2)每秒同步everysec:异步操作,每秒记录 如果一秒内宕机,有1s数据丢失

(3)不同no:依据操作系统,不用管但不可控


 (4)优势以及劣势,后台运行,写入性能非常高,文件不容易破损,非常适合做灾难性的误删除的紧急恢复


文章转载来源于:https://baijiahao.baidu.com/s?id=1654694618189745916&wfr=spider&for=pc
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容