什么是redis持久化
Redis的所有数据都保存在内存中,然后不定期的通过异步方式保存到磁盘上(这成为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为"全持久化模式")。
由于Redis的数据都存放到内存中,如果没有配置持久化,redis重启后数据就会消失了。于是需要开启Redis的持久化功能,将数据保存到磁盘上。当redis重启后,可以从磁盘中恢复数据。
redis持久化的两种方式
redis提供两种方式进行持久化,一种是RDB持久化(原理是将Redis在内存中的数据库记录定时dump到磁盘上),另一种是AOF(append only file)持久化,(原理是将Redis的操作日志以追加的方式写入文件)。
RDB持久化
RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。
AOF持久化
AOF持久化以日志的形式记录服务器所处理的每一个写。删操作,查询操作不会被记录。以文本的方式记录,可以打开文件看到详细的操作记录。