我正在尝试使用Hiredis和Redis在系统中实现2种行为。 1)使用SCAN命令时,通过发布事件而不是通过数组返回来获取所有具有模式的键。 (我的系统即使在获取事件时也只能使用发布事件,因此需要坚持这种行为) 2)删除所有带有模式
的键阅读手册后,我知道“ SCAN”命令是我的朋友。 我有2种方法,不确定什么是优点/缺点:
1)使用Lua脚本,该脚本将调用SCAN,直到我们将光标设为0并为找到的每个条目发布事件/删除键。 2)使用Lua脚本,但将光标作为返回码返回,并使用新的光标从hiredis客户端调用LUA脚本,直到它变为0为止。
或者其他想法可能会很好。
我的数据库根本不工作..密钥/值小于100字节的条目不超过500k。
谢谢!
答案 0 :(得分:0)
选项1可能不适合在Lua脚本中运行,因为它会阻止所有其他请求被执行。 SCAN
在应用程序中运行时效果最佳,因此Redis仍可以处理其他请求。