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