RDB:
RDB可以在指定时间间隔内生成数据的时间点快照(snapshot)
RDB优点:RDB是一个非常紧凑的文件,他保存了Redis在某个时间点的数据集,
在触发条件后就会对数据进行备份,可以在conf文件中对其修改
缺点:应为会有时间间隔,若机器发生故障停机,则会丢失一段时间内的数据,每次保存 RDB 的时候
,Redis 都要 fork() 出一个子进程,并由子进程来进行实际的持久化工作。 在数据集比较庞大时, fork() 可能会非常耗时
造成服务器在某某毫秒内停止处理客户端。
AOF:
AOF会保存redis服务器所执行的的写命令来记录数据库状态的,在服务器启动时,通过appendonlu.aof执行所有的命令来
还原服务器状态
Redis 目前支持三种 AOF 保存模式,它们分别是:
AOF_FSYNC_NO
:不保存。AOF_FSYNC_EVERYSEC
:每一秒钟保存一次。AOF_FSYNC_ALWAYS
:每执行一个命令保存一次。
每次一个新命令追加到AOF文件中时执行fsync。非常非常慢,但是非常安全。
每秒执行fsync。够快,但是当灾难来临时会丢失1秒的数据。
从不执行fsync,直接将你的数据交到操作系统手里。更快,但是更不安全。