1.rdb
rdb(redis database)简而言之就是根据触发规则,forks出一个子进程去存储数据,类似于vm的拍快照记录当前redis的数据量 优点的话就是占用资源少,io开销相对较小,缺点的话就是在极端环境下你会丢失几分钟的数据。
触发规则
- save的规则满足的情况下,会自动触发rdb规则
- 执行flushall命令,也会触发我们的rdb规则
- 退出redis,也会产生rdb文件!
1.备份就自动产生一个dump.rdb文件,只需要将rdb文件放在我们的redis-server的启动目录,redis启动的时候就会自动检查 dump.rdb恢复其中的数据!
2.查看需要存在位置
config get dir
1) "dir"
2) "/usr/local/bin"
几乎就他自己默认配置就够用了,但是我们还是要去学习
优点:
1.蛇和大规模的数据恢复
2.对数据的完整性不高!
缺点:
1.需要一定的时间间隔!如果redis意外宕机啦,这个最后一次修改的数据就没啦
2.fork进程的时候,会占用一定的内容空间!
2.aof
Append-only file,就是将我们所有的命令都记录下来,每一步操作都记录下来,而且根据配置的每秒 fsync 一次 策略最坏的情况就是只丢失1秒的数据,优点说完了,就说缺点,每次操作记录带来的io开销太大啦,而且也会吃不少资源,虽然Redis 2.4 则可以自动触发 AOF 重写,但是在性能上这还是比rdb差些。