持久化分类
AOF (只追加文件)
snapshotting (快照)
snapshoptting
原理:将某一时刻的内存数据写入硬盘。redis接收到备份命令后会fork一个子进程,负责将快照写入硬盘
创建方法:
- 客户端发送BGSAVE
- 客户端发送SAVE
- 设置save的配置选项
- 接收到SHUTDOWN命令要关闭服务器
缺点:
- 会丢失程序出现崩溃后的数据更新。
- 如果redis占用内存很大,fork子进程底层是创建副本,可能会导致创建进程的时间很长。
AOF
原理是记录每一次操作,如果出现故障,重新执行一次这些操作即可。
创建方法:
- appendonly 选项yes
- appendfsync 选项(always everysec no)
缺点:
AOF的体积会不断的增大,当增大到一定程度必须重写AOF文件,以缩写体积.(这时候也是需要fork一个子进程来进行操作)。重写命令是BGREWIRTEAOF.(还有配置选项可以自动重写。auto-aof_rewrite_percentage等)