Redis 有两种数据持久化机制:
- RDB 持久化:将 Redis 数据库的快照存储到硬盘上,以便在 Redis 重启时使用。RDB 持久化是一种周期性的操作,可以设置触发条件。
配置方法:
- 在 redis.conf 文件中找到
save
配置项。 - 每个
save
配置项后面跟着两个数字,第一个表示多少秒后开始保存,第二个表示在这段时间内至少有多少个键被修改才会触发保存操作。 - 可以根据需求增加或修改
save
配置项,也可以注释掉某些配置项,禁用 RDB 持久化。
- AOF 持久化:将 Redis 执行的每条写命令记录到一个追加的文件中,以便在 Redis 重启时重新执行这些命令来重建原始数据。AOF 持久化是一种实时的操作。
配置方法:
- 在 redis.conf 文件中找到
appendonly
配置项。 - 将
appendonly
配置项的值设置为 yes,启用 AOF 持久化。 - 修改
appendfsync
配置项,指定何时将 AOF 缓冲区写入文件。可选值为 always(每次写入)、everysec(每秒钟写入一次)和 no(只在 Redis 关闭时写入)。 - 可以设置 AOF 文件的路径和大小限制等参数。
需要注意的是,RDB 和 AOF 持久化可以同时使用。如果两者都启用,则 Redis 重启时会优先使用 AOF 文件来恢复数据。如果 AOF 文件不存在或损坏,则 Redis 会尝试使用 RDB 文件来恢复数据。