在lua脚本中使用扫描命令

时间:2018-09-12 15:08:43

标签: redis

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

的键

阅读手册后,我知道“ SCAN”命令是我的朋友。 我有2种方法,不确定什么是优点/缺点:

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

或者其他想法可能会很好。

我的数据库根本不工作..密钥/值小于100字节的条目不超过500k。

谢谢!

1 个答案:

答案 0 :(得分:0)

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