通过Lua在Redis中设置多个键

问题描述 投票:0回答:1

我正在Redis中寻找INSERT脚本副本,我想一次设置多个键。

SET foo bar
SET sun moon
SET fire water
...

上面的Lua脚本看起来如何,因为我在网上找不到太多帮助。

redis lua
1个回答
0
投票

对于Lua脚本,我会这样做:

for i=1, #KEYS do
    redis.call("SET", KEYS[i], ARGV[i])
end

正在执行中,如下所示:

EVAL 'for i=1, #KEYS do redis.call("SET", KEYS[i], ARGV[i]) end' 2 key1 key2 val1 val2

请注意,#KEYS不是动态计算的,而是显式传递的numkeys参数。

可以根据需要添加附加验证-例如,声明相等数量的键和参数-但我强烈建议您在大多数情况下都要进行客户端完整性检查以确保性能。


如果未使用Lua,则Redis拥有命令MSET以本机一次设置多个键。

https://redis.io/commands/mset

© www.soinside.com 2019 - 2024. All rights reserved.