redisde持久化机制

他的持久化机制有两种一种是(rdb)快照 一种是(aof) 日志 快照的话是全量的一个备份 日志是连续的增加备份 .

快照机制是redis默认开启de,她会根据配置的策略将内存的数据保存在本地的二进制文件中

官方提供两种方式生成快照 一种是save命令但是有缺点会阻塞我们的主进程当如果数据很大的时候会导致整个redis不可使用.

第二个命令是bgsave命令 就是在主进程的基础上生成一个字进程 会共享主进程的代码和数据段 ,相当于在后台生成一个快照

关键在主进程进行读取操作的时候两个进程是互不影响如果是修改那么修改的数据块就会被复制进本地的二进制文件rdb中.在这过程中主进程依旧可以修改数据

每次要更换旧derdb文件

相当于定时操作备份全盘

  • Redis宕机后数据恢复快

  • 可以恢复多个版本的数据如何有备份本地文件的保存点

  • 二进制文件体积小

  • 缺点丢失的数据更多

aof机制的就是每次都先将要存储的以日志的形式记录key发生变化的指令备份到缓存中每隔默认1秒就存储到本地的文件上

AOF 文件是一个只进行追加操作的日志文件(append only log), 因此对 AOF 文件的写入不需要进行 seek

Redis 可以在 AOF 文件体积变得过大时,自动地在后台对 AOF 进行重写: 重写后的新 AOF 文件包含了恢复当前数据集所需的最小命令集合。 整个重写操作是绝对安全的,因为 Redis 在创建新 AOF 文件的过程中,会继续将命令追加到现有的 AOF 文件里面,即使重写过程中发生停机,现有的 AOF 文件也不会丢失。 而一旦新 AOF 文件创建完毕,Redis 就会从旧 AOF 文件切换到新 AOF 文件,并开始对新 AOF 文件进行追加操作。

恢复是先恢复aof再恢复rdb

*AOF 的缺点*

对于相同的数据集来说,AOF 文件的体积通常要大于 RDB 文件的体积

posted @   晴天晴yyysss  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示