为什么要持久化
宕机重启后恢复数据
持久化策略
- RDB: 周期性保存内存快照到磁盘,
- 优点: 备份文件的体积小,且恢复时读取更快;
- 缺点: 实时性较低,bgSave需要fork子进程,不适合频繁执行
- AOF: 类似mysql的binlog,记录写操作
- 优点: 实时性高
- 缺点: 数据恢复较慢
- RDB+AOP: 在两次快照之间 使用AOF记录日志, 在第二次快照记录完成后清空aof文件
- 没啥缺点 需要4.0才支持
RDB配置
AOF配置
具体可以看redis.conf 这里appendsync配置的是缓冲区数据写入磁盘的策略,分别是 每次写/每秒/等待系统自动写入
AOF因为会记录所有写操作, 对同一key多次操作场景会存在多条记录,aof重写就是为了优化这部分数据的(min-size太小的话,频繁重写也是很影响性能)