redis持久化策略分为两种(AOF以及RDB)
1.AOF
1.1AOF是什么
AOF是一种针对与将redis的执行的命令以文件的形式追加到.aof文件中,可以拆分理解append on file
1.2为什么要使用AOF
AOF主要是为了防止宕机而将文件备份到磁盘中,默认30秒备份一次(将每次操作都以日志的形式保存到操作系统的缓存中,操作系统默认30s执行文件同步)
1.3如何使用AOF
修改配置文件:appendonly 默认为no 将其修改为yes,重启即可
2.RDB
2.1 RDB是什么
rdb是一种以闪存快照的方式将内存中的数据存储到.rdb文件中
2.2 为什么要使用rdb
rdb存储的二进制文件,当机器宕机之后可以快速的恢复。rdb可以灵活的配置闪存快照的触发条件
2.3如何使用rdb
修改配置文件 save N M ;
N:时间间隔
M:执行命令次数
3.两者的优缺点
AOP优缺点
优点:
- AOF 持久化的方法使用默认的每秒同步一次,Redis 最多也就丢失 1 秒的数据而已。
缺点:
- 对于具有相同数据的的Redis,AOF 文件通常会比 RDB 文件体积更大(RDB存的是数据快照)。
- 虽默认情况下,每秒同步一次的频率也具有较高的性能。在高并发的情况下,RDB 比 AOF 具有更好的性能保证。
RDB优缺点
优点:
- 应为dump.rdb文件是二进制文件,所以当redis服务崩溃恢复的时候,能很快的将文件数据恢复到内存之中。
缺点:
- RDB每次持久化需要将所有内存数据写入文件,然后替换原有文件,当内存数据量很大的时候,频繁的生成快照会很耗性能。
- 如果将生成快照的策略设置的时间间隔很大,会导致redis宕机的时候丢失过的的数据。