Redis 提供了两种主要的数据持久化方式:RDB(Redis DataBase)和 AOF(Append Only File)。以下是这两种方式的详细介绍及如何配置:
RDB 是 Redis 默认的持久化方式。它会在指定的时间间隔内生成数据集的时间点快照(snapshot)。
在 redis.conf 文件中,可以通过以下配置来设置 RDB 持久化:
# 设置在 900 秒(15 分钟)内至少有 1 个 key 发生变化时,自动触发 RDB 持久化
save 900 1
# 设置在 300 秒(5 分钟)内至少有 10 个 key 发生变化时,自动触发 RDB 持久化
save 300 10
# 设置在 60 秒(1 分钟)内至少有 10000 个 key 发生变化时,自动触发 RDB 持久化
save 60 10000
# 禁用 RDB 持久化
save ""
# 设置 RDB 文件的保存路径和文件名
dbfilename dump.rdb
# 设置 RDB 文件的备份目录
dir /var/lib/redis
除了自动触发,你还可以手动触发 RDB 持久化:
redis-cli save
或者使用 BGSAVE 命令在后台执行:
redis-cli BGSAVE
AOF 持久化记录服务器接收到的所有写操作命令,并在服务器启动时,通过重新执行这些命令来重建数据集。
在 redis.conf 文件中,可以通过以下配置来启用 AOF 持久化:
# 启用 AOF 持久化
appendonly yes
# 设置 AOF 文件的保存路径和文件名
appendfilename "appendonly.aof"
# 设置 AOF 文件的备份策略
appendfsync everysec # 每秒同步一次,平衡性能和数据安全性
# 其他选项:
# appendfsync always # 每次写操作都同步,最安全但性能最低
# appendfsync no # 不主动同步,由操作系统决定何时同步,性能最高但数据安全性最低
除了自动触发,你还可以手动触发 AOF 持久化:
redis-cli BGREWRITEAOF
为了提高数据的安全性和恢复速度,可以同时启用 RDB 和 AOF 持久化。在这种情况下,Redis 会优先使用 AOF 文件来恢复数据,因为 AOF 文件记录了更多的写操作。
在 redis.conf 文件中,确保以下配置:
# 启用 AOF 持久化
appendonly yes
# 设置 AOF 文件的保存路径和文件名
appendfilename "appendonly.aof"
# 设置 AOF 文件的备份策略
appendfsync everysec
# 启用 RDB 持久化(可选,如果需要)
save 900 1
save 300 10
save 60 10000
通过合理配置 RDB 和 AOF,可以在性能和数据安全性之间找到平衡点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。