RDB
- RDB 持久化 RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,也是默认的持久化方式
- save 900 1 #900秒内如果超过1个key被修改,则发起快照保存
- save 300 10 #300秒内如超过10个key被修改,则发起快照保存
- save 60 10000
优点
- 数据库只包含一个文件,对于文件备份有好处
- 对于文件恢复也有好处
- 数据集很大,启动效率相比于aof更高
缺点
- 做快照之前的数据会丢失
- 数据集合很大的话,会占用服务器的时间
AOF
- AOF 持久化 aof是redis的一种记录数据库写操作的持久化方案,他会忠实的记录所有的写操作,并且以redis协议的格式存储在一个.aof文件中,在重启redis的时候,redis可以根据.aof文件的内容来恢复数据集
- appendfsync always //收到写命令就立即写入到磁盘,效率最慢,但是保证完全的持久化
- appendfsync everysec //每秒钟写入磁盘一次,在性能和持久化方面做了很好的折中
- appendfsync no //完全依赖os 性能最好 持久化没保证
优点
- 数据安全和持久会更高
- redis-check-aof会修复数据
缺点
- aof的文件更大
- 恢复速度比较满
- 运行效率慢