Redis 是一个高性能的键值存储数据库,它提供了两种主要的持久化机制来确保数据在服务器重启后不会丢失:RDB(Redis DataBase)和AOF(Append Only File)。以下是在 Ubuntu 上配置 Redis 持久化的步骤:
编辑 Redis 配置文件:
打开 Redis 的配置文件,通常位于 /etc/redis/redis.conf。
sudo nano /etc/redis/redis.conf
启用 RDB 持久化:
找到 save 配置项,它定义了在指定时间内发生多少次写操作时进行快照。例如:
save 900 1
save 300 10
save 60 10000
这表示如果在 900 秒内至少有 1 次写操作,或者在 300 秒内至少有 10 次写操作,或者在 60 秒内至少有 10000 次写操作,Redis 将会创建一个 RDB 文件。
你也可以通过设置 save "" 来禁用 RDB 持久化。
配置 RDB 文件的存储位置:
找到 dir 和 dbfilename 配置项,它们分别定义了 RDB 文件的存储目录和文件名。
dir /var/lib/redis
dbfilename dump.rdb
重启 Redis 服务: 保存并关闭配置文件后,重启 Redis 服务以应用更改。
sudo systemctl restart redis-server
启用 AOF 持久化:
在 Redis 配置文件中找到 appendonly 配置项,并将其设置为 yes。
appendonly yes
配置 AOF 文件的存储位置:
找到 appendfilename 配置项,它定义了 AOF 文件的文件名。
appendfilename "appendonly.aof"
配置 AOF 重写策略:
找到 auto-aof-rewrite-percentage 和 auto-aof-rewrite-min-size 配置项,它们定义了 AOF 文件自动重写的触发条件。
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
这表示当 AOF 文件大小比上次重写时的大小增加了 100%,并且文件大小至少为 64MB 时,Redis 将自动重写 AOF 文件。
重启 Redis 服务: 保存并关闭配置文件后,重启 Redis 服务以应用更改。
sudo systemctl restart redis-server
你也可以同时启用 RDB 和 AOF 持久化,以提供更高的数据安全性。在这种情况下,Redis 会优先使用 AOF 文件进行数据恢复,因为 AOF 文件通常比 RDB 文件更完整。
通过以上步骤,你可以在 Ubuntu 上配置 Redis 的持久化机制,确保数据的安全性和可靠性。