使用 RDB 持久化有一个风险,它可能会造成最新数据丢失的风险。因为 RDB 的持久化有一定的时间间隔,在这个时间段内如果 Redis 服务意外终止的话,就会造成最新的数据全部丢失。
可能会操作 Redis 服务意外终止的条件:
- 安装 Redis 的机器停止运行,蓝屏或者系统崩溃;
- 安装 Redis 的机器出现电源故障,例如突然断电;
- 使用
kill -9 Redis_PID
等。
那么如何解决以上的这些问题呢?Redis 为我们提供了另一种持久化的方案——AOF。
1 简介
AOF(Append Only File)中文是附加到文件,顾名思义 AOF 可以把 Redis 每个键值对操作都记录到文件(appendonly.aof)中。
2 持久化查询和设置
1)查询 AOF 启动状态
使用 config get appendonly
命令,如下图所示: 其中,第一行为 AOF 文件的名称,而最后一行表示 AOF 启动的状态,yes 表示已启动,no 表示未启动。
2)开启 AOF 持久化
Redis 默认是关闭 AOF 持久化的,想要开启 AOF 持久化,有以下两种方式:
- 通过命令行的方式;
- 通过修改配置文件的方式(redis.conf)。
下面分别来看以上两种方式的实现。