gpt4 book ai didi

Redis EVAL-per-event 或 EVAL-all-events-at-once

转载 作者:可可西里 更新时间:2023-11-01 11:47:16 25 4
gpt4 key购买 nike

如果你有大约 50 个事件/秒,每个事件都应该以事务方式处理(进行 3 次 SADD 操作),哪个更好:

  1. 为每个事件运行一个 Lua 脚本(通过 EVALSHA)?
  2. 运行单个 Lua 脚本来迭代所有事件并立即更新它们?

我的考虑:单个 EVAL 至少不会比 EVAL-per-event 慢。主要关注的是脚本执行时间。据我所知,它应该阻止所有 Redis 命名空间中的所有操作。但我想我不应该害怕在一个 EVAL 中进行 150 次 SADD 操作,对吧?

最佳答案

你最好用你的生产环境做一些基准测试,虽然我认为 150 个操作太多了,不能暂时阻塞 Redis。

事实上,您还有另一种选择:在 pipeline 中运行 50 个 Lua 脚本.使用管道,您的每个 Lua 脚本都不会长时间阻塞 Redis,即只有 3 个操作,并且它节省了大量的 RTT,并且应该比 50 个 EVALSHA 命令快得多。

关于Redis EVAL-per-event 或 EVAL-all-events-at-once,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57726406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com