【问题标题】:Using scan command inside lua script在 lua 脚本中使用扫描命令
【发布时间】:2019-02-17 06:47:03
【问题描述】:

我正在尝试使用 Hiredis 和 Redis 在我的系统中实现 2 种行为。 1) 通过发布事件获取所有具有模式的键,而不是通过使用 SCAN 命令时返回的数组。 (我的系统仅适用于发布事件,即使是获取,所以需要坚持这种行为) 2)删除所有带有模式的键

阅读手册后,我了解到“SCAN”命令是我的朋友。 我有两种方法,不确定优缺点:

1) 使用 Lua 脚本调用 SCAN 直到我们的光标为 0 并为找到的每个条目提供发布事件/删除键。 2) 使用Lua脚本,但返回光标作为返回码,并从hiredis客户端用新光标调用LUA脚本,直到它得到0。

或者也许其他想法会很好。

我的数据库一点也不大。不超过 500k 个条目,其 key/val 小于 100 字节。

谢谢!

【问题讨论】:

    标签: redis


    【解决方案1】:

    选项 1 可能不适合在 Lua 脚本中运行,因为它会阻止所有其他请求的执行。 SCAN 在您的应用程序中运行时效果最佳,因此 Redis 仍然可以处理其他请求。

    【讨论】:

      猜你喜欢
      • 2020-05-27
      • 2021-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 1970-01-01
      • 2015-11-10
      • 1970-01-01
      相关资源
      最近更新 更多