RDB是redis默认的持久化策略
- RDB持久化文件,速度比较快,而且存储的是一个二进制的文件,传输起来很方便。
- RDB持久化的时机:
save 900 1 :在900秒之内,有1个key发生改变,执行持久化
save 300 10 :在300 秒之内,有10 key发生改变,执行持久化
save 60 10000 :在60 秒之内,有10000 key发生改变,执行持久化
- RDB无法保证数据的绝对安全,因为它无法实时触发持久化的操作。
AOF持久化策略
- AOF持久化的速度相对RDB较慢,存储的是一个文本文件,到了后期文件会比较大,传输困难
- AOF持久化时机:
appendfsync always:每秒执行一个写操作,立即持久化到AOF文件中,性能比较低。
appendsync everysec:每秒执行一次持久化
appendsync no:会根据你的操作系统的不同,环境的不同,在一定时间内执行一次持久化
- AOF相对RDB更安全,推荐同时开启AOF和RDB。
AOF持久化机制默认是关闭的,Redis官方推荐同时开启RDB和AOF持久化,更安全,避免数据丢失。
- 如果同时开启AOF和RDB持久化,那么在宕机重启之后,需要加载一个持久化的文件,优先选择AOF文件,因为它更安全。
- 如果先开启了RDB,再次开启AOF,如果RDB执行了持久化,那么RDB文件中的内容会被AOF覆盖掉。如果AOF中数据不全,造成数据的不安全。所以,最好是同时开启。