境界123 2024-09-08 16:29 采纳率: 40%
浏览 6

Redis7中的save命令

设置save 5 2,第一次set值与第二次间隔2分钟为啥还是能触发rdb快照写入,

img

img

  • 写回答

1条回答 默认 最新

  • 一轮明月照丘壑 2024-09-08 18:15
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    在 Redis 中,save 命令用于生成 RDB(Redis DataBase)持久化文件。关于 save 5 2 这个配置,它表示当数据库在 5 秒内有 2 个以上的 key 改变时,Redis 就会发起一次快照持久化。至于为什么您在设置后的第一次和第二次操作之间只间隔了 2 分钟仍能触发 RDB 快照写入,这可能与以下几个因素有关:

    1. 时间窗口的理解save 5 2 的配置是累积的条件。一旦有 2 个或更多的 key 在连续的 5 秒内发生变化,就会触发持久化。这并不意味着每次间隔都必须严格满足这个条件,而是只要在连续的 5 秒内满足变化数量的条件即可。因此,可能在第一次操作之后不久就有其他操作发生了,累计到了触发条件。
    2. 其他操作的影响:在您进行监控或查看日志的同时,可能有其他客户端或进程也在操作 Redis 数据库。这些操作可能导致数据库在短时间内发生了足够多的变化,从而触发了 save 命令。
    3. 日志的延迟显示:日志的显示可能存在一些延迟。即使实际的时间间隔超过了配置中的时间窗口,但日志中显示的仍然是上一次操作的记录时间,因此在这种情况下可能看到的是上一次的写入信息而不是当前的。

    为了更准确地了解发生了什么,您可以检查 Redis 的日志文件和监控工具的输出,看看是否有其他操作在您的监控间隔之间发生。此外,您也可以考虑使用 INFO persistence 命令来查看当前的持久化状态和其他相关信息。这可以帮助您更好地理解为什么在短时间内会触发 RDB 快照写入。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月8日

悬赏问题

  • ¥15 WangEditor嵌入到geeker-admin中,回车没有办法换行
  • ¥30 stm32f103c8t6制作万能红外遥控器
  • ¥15 有人会fastcrud写前端页面吗
  • ¥15 如何解除Uniaccess管控
  • ¥15 微信小程序跳转关联公众号
  • ¥15 Java AES 算法 加密采用24位向量报错如何处理?
  • ¥15 使用X11可以找到托盘句柄,监控到窗口点击事件但是如何在监听的同时获取托盘中应用的上下文菜单句柄
  • ¥45 字符串操作——数组越界问题
  • ¥15 Loss下降到0.08时不在下降调整学习率也没用
  • ¥15 QT+FFmpeg使用GPU加速解码