【吊打面试官系列-Redis面试题】Redis 的持久化机制是什么?各自的优缺点?

大家好,我是锋哥。今天分享关于 【Redis 的持久化机制是什么?各自的优缺点?】面试题,希望对大家有帮助;

Redis 的持久化机制是什么?各自的优缺点?

1000道 互联网大厂Java工程师 精选面试题-Java资源分享网
Redis 提供两种持久化机制 RDB 和 AOF 机制:
1、RDBRedis DataBase)持久化方式: 是指用数据集快照的方式半持久化模式) 记录 redis 数据库的所有键值对,在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,达到数据恢复。
优点:
1、只有一个文件 dump.rdb,方便持久化。
2、容灾性好,一个文件可以保存到安全的磁盘。
3、性能最大化,fork 子进程来完成写操作,让主进程继续处理命令,所以是 IO 最大化。使用单独子进程来进行持久化,主进程不会进行任何 IO 操作,保证了 redis 的高性能) 4.相对于数据集大时,比 AOF 的启动效率更高。
缺点:
1、数据安全性低。RDB 是间隔一段时间进行持久化,如果持久化之间 redis 发生故障,会发生数据丢失。所以这种方式更适合数据要求不严谨的时候)
2、AOFAppend-only file)持久化方式: 是指所有的命令行记录以 redis 命令请求协议的格式完全持久化存储)保存为 aof 文件。
优点:
1、数据安全,aof 持久化可以配置 appendfsync 属性,有 always,每进行一次命令操作就记录到 aof 文件中一次。
2、通过 append 模式写文件,即使中途服务器宕机,可以通过 redis-check-aof 工具解决数据一致性问题。
3、AOF 机制的 rewrite 模式。AOF 文件没被 rewrite 之前(文件过大时会对命令进行合并重写),可以删除其中的某些命令(比如误操作的 flushall))
缺点:
1、AOF 文件比 RDB 文件大,且恢复速度慢。
2、数据集大的时候,比 rdb 启动效率低。

相关推荐
天桥下的卖艺者1 小时前
R语言使用scitable包交互效应深度挖掘一个陌生数据库
数据库·r语言·交互
H.ZWei1 小时前
鸿蒙应用开发—数据持久化之SQLite
数据库·华为·sqlite·harmonyos
jay丿1 小时前
Django ORM 中的 RelatedManager 特殊方法
数据库·django·sqlite
残月只会敲键盘1 小时前
Django中的Cookie与Session使用指南
数据库·python·django·sqlite
Allen Bright2 小时前
【MySQL基础-1】MySQL 用户管理指南:创建用户、修改密码与权限分配
数据库·mysql
半成熟 -2 小时前
mysql下载与安装、关系数据库和表的创建
数据库·mysql
java1234_小锋2 小时前
MySQL中like模糊查询如何优化?
数据库·mysql
ftpeak3 小时前
MongoDB 触发器实现教程
数据库·python·mongodb
紫菜(Nori)3 小时前
MongoDB 自动化部署
数据库·mongodb·自动化
HaSaKing_7213 小时前
MongoDB 副本集的健康指标 & 写关注级别
数据库·mongodb