在Ubuntu上,Redis提供了两种主要的持久化数据的方法:RDB(Redis DataBase)和AOF(Append Only File)。下面是如何在这两种方法之间进行选择的指南以及如何配置它们。
RDB是通过在指定的时间间隔内生成数据集的时间点快照来持久化数据的方法。
启用RDB持久化:
编辑Redis配置文件/etc/redis/redis.conf,找到以下行并进行修改或取消注释:
save 900 1
save 300 10
save 60 10000
这些行指定了在900秒(15分钟)内至少有1个更改、300秒(5分钟)内至少有10个更改或60秒(1分钟)内至少有10000个更改时,Redis将生成一个RDB文件。
指定RDB文件的存储位置:
在同一配置文件中,找到dir和dbfilename选项,并设置它们以指定RDB文件的存储目录和文件名:
dir /var/lib/redis
dbfilename dump.rdb
重启Redis服务:
保存配置文件并重启Redis服务以应用更改:
sudo systemctl restart redis-server
AOF持久化通过记录服务器接收到的所有写操作命令,并在服务器启动时重新执行这些命令来重建数据集。
启用AOF持久化:
编辑Redis配置文件/etc/redis/redis.conf,找到以下行并进行修改或取消注释:
appendonly yes
配置AOF文件的存储位置和名称:
在同一配置文件中,找到dir和appendfilename选项,并设置它们以指定AOF文件的存储目录和文件名:
dir /var/lib/redis
appendfilename "appendonly.aof"
调整AOF重写策略:
AOF文件可能会变得非常大,因此Redis提供了AOF重写功能,以减小文件大小。编辑配置文件,找到以下行并进行修改:
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
这表示当AOF文件大小比上次重写后的大小增加100%且绝对大小至少为64MB时,Redis将自动触发AOF重写。
重启Redis服务:
保存配置文件并重启Redis服务以应用更改:
sudo systemctl restart redis-server