在Ubuntu系统中,Redis的持久化可以通过两种方式实现:RDB(Redis Database)和AOF(Append Only File)。下面是如何在这两种方式下设置Redis持久化的步骤:
RDB持久化
-
编辑Redis配置文件:
打开Redis配置文件,通常位于/etc/redis/redis.conf。sudo nano /etc/redis/redis.conf -
启用RDB持久化:
找到并修改以下配置项:save 900 1 save 300 10 save 60 10000这些配置项的意思是:
- 在900秒(15分钟)内至少有1个键发生变化时,进行一次快照。
- 在300秒(5分钟)内至少有10个键发生变化时,进行一次快照。
- 在60秒(1分钟)内至少有10000个键发生变化时,进行一次快照。
你可以根据需要调整这些值。
-
设置RDB文件保存路径:
默认情况下,RDB文件会保存在/var/lib/redis/dump.rdb。如果你想更改保存路径,可以修改以下配置项:dbfilename dump.rdb dir /var/lib/redis -
重启Redis服务:
保存并关闭配置文件后,重启Redis服务以应用更改。sudo systemctl restart redis-server
AOF持久化
-
编辑Redis配置文件:
打开Redis配置文件,通常位于/etc/redis/redis.conf。sudo nano /etc/redis/redis.conf -
启用AOF持久化:
找到并修改以下配置项:appendonly yes这将启用AOF持久化。
-
设置AOF文件保存路径:
默认情况下,AOF文件会保存在/var/lib/redis/appendonly.aof。如果你想更改保存路径,可以修改以下配置项:appendfilename "appendonly.aof" dir /var/lib/redis -
配置AOF重写策略:
AOF文件会随着时间的推移变得越来越大,因此需要定期重写。你可以配置AOF重写的策略:auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb这些配置项的意思是:
- 当AOF文件大小比上次重写时的大小增加100%时,触发重写。
- 当AOF文件大小至少达到64MB时,触发重写。
-
重启Redis服务:
保存并关闭配置文件后,重启Redis服务以应用更改。sudo systemctl restart redis-server
注意事项
- RDB持久化会在指定的时间间隔内生成数据快照,适合用于备份和恢复。
- AOF持久化会记录每个写操作,适合用于数据完整性要求较高的场景。
- 你可以同时启用RDB和AOF持久化,以提供双重保障。
通过以上步骤,你可以在Ubuntu系统中成功设置Redis的持久化。