redis的持久化
1 rdb和aof
rdb是redis database的缩写,它将redis的数据以文件的形式持久化到磁盘中,redis server重新启动时,将数据加载进内存。
aof是append of file的缩写,它持久化的是操作redis的命令,redis server重新启动时,将aof中的命令全部重新执行一遍,这样就和重启之前的数据一样了。
2 rdb
默认情况下是
save 900 1,900秒内1次修改,dump
save 300 10,300秒内10次修改,dump
save 60 10000,60秒内10000次修改,dump
如果60秒内9999次修改了,但是还没有来得及dump,就挂了,那么数据就丢失了。
所以说rdb对数据的完整性要求不高,但是它不会导致rdb文件必然增大。
3 aof
可以选择每次修改了redis都备份。这样,数据的完整性得到了保证。但是随着redis的使用aof文件会越来越大,因为命令总是在增加的。
4 大数据场景下的持久化
大数据时,应该是用aof,数据太大持久化会拖垮机器的性能,因为一个快照得几十GB。使用aof的话,直接保存一条命令就可以了,恢复起来比较慢,但是不会影响系统的实时性能。