Redis数据库的一个特点是支持数据持久化,可将内存中的数据保存在磁盘,重启时再次加载
Redis的持久化方式有两种
RDB(数据快照持久化)
定期存储,指定的时间间隔内将内存中的数据集快照写入磁盘。使用BGSAVE命令,随着内存使用量的增加,执行 BGSAVE 可能会导致系统长时间地停顿
优点:
1.适合大规模的数据恢复;
2.对数据的完整性要求不高。
缺点:
1.需要一定的时间间隔进程操作,如果redis意外宕机了,这个最后一次修改数据就没有了;
2.fork进程的时候,会占用一定的内存空间。
AOF(追加持久化)
只追加文件,在执行写命令时,将被执行的写命令复制到硬盘里面。使用 AOF 策略需要对硬盘进行大量写入,Redis 处理速度会受到硬盘性能的限制
优点:
1.每一次修改都同步,文件的完整会更加好;
2.每次同步一次,可能会丢失一秒的数据;
3.从不同步,那么效率最高!
缺点:
1.相对于数据文件来说,AOF远远大于RDB,修复的速度也比RDB慢;
2.AOF运行效率也要比RDB慢,所有我们redis默认的配置就是RDB持久化。