持久化介绍
Redis的读写都是在内存中,所以它的性能比较高,但是内存中的数据会随着服务器的重启而丢失,为了保证数据不丢失,我们需要将内存中的数据存储到磁盘,以便Redis重启时能够从磁盘中恢复原有的数据,而整个过程就叫做Redis持久化。
持久化的几种方式
Redis持久化拥有一下三种方式:
- 快照方式(RDB,Redis DataBase)将某一个时刻的内存数据,以二进制的方式写入磁盘;
- 文件追加方式(AOF,Append Only File),记录所有的操作命令,并以文本的形式追加到文件中;
- 混合持久化方式,以Redis4.0之后新增的方式,混合持久化是结合了RDB和AOF的优点,在写入的时候,先把当前的数据以RDB的形式写入文件的开头,再将后续的操作命令以AOF的格式存入文件,这样既能保证Redis重启时的速度,又能降低数据丢失的风险。
RDB简介
RDB(Redis DataBase)是将某一时刻的内存快照(Snapshot),以二进制的方式写入磁盘的过程。
持久化触发
RDB的持久化触发方式有两类:一类是手动触发,另一类是自动触发
手动触发
手动触发持久化的操作有两个:save和bgsave,它们主要区别体现在:是否阻塞Redis主线程的执行。
- ① save命令: 在客户端中执行save命令