117:C 01 Sep 2024 09:41:53.070 * RDB: 0 MB of memory used by copy-on-write
1:M 01 Sep 2024 09:41:53.162 * Background saving terminated with success
1:M 01 Sep 2024 09:46:54.033 * 10 changes in 300 seconds. Saving...
1:M 01 Sep 2024 09:46:54.033 * Background saving started by pid 118
118:C 01 Sep 2024 09:46:54.041 * DB saved on disk
118:C 01 Sep 2024 09:46:54.041 * RDB: 0 MB of memory used by copy-on-write
1:M 01 Sep 2024 09:46:54.134 * Background saving terminated with success

解决

redis.conf

save ""

save "7200 1"

扩展知识

在 Redis 的 redis.conf 配置文件中,save 指令用于设置自动保存 RDB 快照的条件。它允许你配置在什么条件下 Redis 会自动创建持久化快照。具体来说:

save ""

  • 如果你在 redis.conf 文件中看到 save "",这表示取消所有自动持久化快照的条件。
  • 这种配置意味着 Redis 不会根据时间间隔或数据更改次数自动保存 RDB 快照。只有在你手动执行 SAVE 或 BGSAVE 命令时,才会创建快照。

save "7200 1"

  • save "7200 1" 表示配置 Redis 在满足以下条件时自动创建一个 RDB 快照:
    • 如果在 7200 秒(即 2 小时)内,至少有 1 次写操作(如 SET, DEL 等)。
  • 这个配置会导致 Redis 每当在 2 小时内有至少 1 次写操作时,自动保存一个快照到磁盘。

配置文件示例

下面是一个示例 redis.conf 配置文件中的 save 设置:

save 900 1
save 300 10
save 60 10000

  • save 900 1:如果在 900 秒(15 分钟)内至少有 1 次写操作,Redis 会创建一个 RDB 快照。
  • save 300 10:如果在 300 秒(5 分钟)内至少有 10 次写操作,Redis 会创建一个 RDB 快照。
  • save 60 10000:如果在 60 秒内至少有 10,000 次写操作,Redis 会创建一个 RDB 快照。

通过这些设置,你可以根据你的应用需求灵活配置 Redis 的持久化策略。

更多推荐