1. RDB
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是一旦进程退出,Redis 的数据就会丢失。
为了解决这个问题,Redis 提供了 RDB 和 AOF 两种持久化方案,将内存中的数据保存到磁盘中,避免数据丢失。
RDB比AOF方式更加高效。RDB最后一次的持久化的数据可能会低丢失。
2. 触发机制
- save的规则满足的情况下,会自动触发RDB规则
- 执行
flushall
命令,触发RDB规则
- 推出redis,也会产生RDB文件
备份会自动生成
dump.rdb
3. 如何恢复RDB文件
只需要将RDB文件放在Redis的启动目录下即可,redis启动会自动检查
dump.rdb
恢复其中的数据# 查看需要存放位置 127.0.0.1:6379> config get dir 1) "dir" 2) "/var/lib/redis" # 如果这个目录下存在dump.rdb,启动就会自动恢复其中的数据
4. 优缺点
4.1 优点:
- 适合大规模的数据恢复
- 对数据完整性要求不高
4.2 缺点:
- 需要一定的时间间隔进程操作,如果redis意外宕机,这个最后一次修改的数据就没有了。
- fork进程的时候,会占用一定的内容空间。