redis是内存型数据库,但是依然可以将数据持久化到磁盘中,避免数据因为宕机、重启等原因丢失。redis的持久化策略包括两种,分别是RDB和AOF。
RDB持久化
RDB是Redis Database的简称,RDB在指定的时间间隔和执行写操作的次数,将内存中的数据快照保存到文件dump.rdb文件中,当redis重启时,读取dump.rdb文件,并将数据恢复到内存中。
RDB相关的配置依然是在redis.conf文件中,定位到SNAPSHOTING,可以看到关于RDB保存策略、保存文件名称、保存文件的路径等配置。
红圈中RDB持久化规则的含义分别是:
在900秒内至少有1次更改则保存数据到磁盘
在300秒内至少有10次更改则保存数据到磁盘
在10000秒内有60次数据更改则保存数据到磁盘
AOF持久化
AOF是Append Only File的缩写。AOF以日志的形式来记录每个写操作,相对RDB粒度更细一点,容易漏掉的数据也更少。需要注意的是,redis默认并不开启AOF持久化。
AOF相关的配置也在redis.conf文件中,定位到APPEND ONLY MODE部分,修改appendonly配置项为yes,则开启AOF持久化。
配置开启后,我们发现在当前目录下已经生成了AOF和RDB相应的持久化文件