Redis将业务数据存储在内存中,主要和内存交互,我们知道内存断点后是会丢失数据的。
对于一些业务,我们希望即使重启Redis服务、或服务器断电、宕机重启后,Redis依然能够提供数据(即持久化),例如订餐系统中为提高性能而缓存的商家信息。
为此,Redis提供了两种持久化策略,它们分别是默认开启的RDB和需要手动配置开启的AOF。
Redis默认情况使用RDB持久化策略,RDB策略通过创建快照的方式,复制存储在内存中的数据的副本到磁盘,以此作为备份。数据副本(快照)可以复制到其他服务器上(例如主从结构中)。
快照也可以留在本服务器上用作备份,以免重启服务或服务器后丢失数据。
在redis.conf配置文件中可以对RDB进行配置。
dbfilename指定了快照文件,以下配置指定快照文件为配置文件所在目录的dump.rdb文件:
dbfilename dump.rdb
save指定了持久化策略,当配置了多个save时,只要符合其中一个save的要求,就开始一次备份,默认配置如下:
save 900 1
save 300 10
save 60 10000