Redis 持久化机制详解

Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;当下次Redis重启时,利用持久化文件实现数据恢复。

除此之外,为了进行灾难备份,可以将持久化文件拷贝到一个远程位置。

Redis持久化有2种:

  • AOF(Append Only File)只追加日志文件;

  • RDB (Redis DataBase);

RDB持久化和AOF持久化:前者将当前数据保存到硬盘,后者则是将每次执行的写命令保存到硬盘(类似于MySQL的binlog);由于AOF持久化的实时性更好,即当进程意外退出时丢失的数据更少,因此AOF是目前主流的持久化方式,不过RDB持久化仍然有其用武之地。

一、RDB持久化

RDB持久化是将当前进程中的数据生成快照保存到硬盘(因此也称作快照持久化),保存的文件后缀是rdb。当Redis重新启动时,可以读取快照文件恢复数据。

1、触发条件

RDB持久化创建rdb文件的触发条件有手动触发和自动触发两种。 

1. 手动触发 

save命令和bgsave命令都可以生成RDB文件,

你可能感兴趣的:(数据库存储,块存储,文件存储,对象存储,分布式网络存储,redis,缓存,数据库)