繁体   English   中英

Lua表作为Redis参数

[英]Lua table as redis argument

我正在尝试从Lua脚本对MSETNX进行MSETNX调用。 如果它们不存在,我需要将一些键设置为空值。

我尝试这样做:

redis.call('MSETNX', KEYS)并将KEYS {'key1', '', 'key2', ''}传递给脚本。

但这不起作用,因为此调用需要将单独的键和值作为参数而不是表传递。

这有效:

redis.call('MSETNX', 'key1', '', 'key2', '')

但是KEYS变量是动态的,所以我不能那样做。

如何调用MSETNX而不必分别明确列出每个键?

-编辑-

是否可以unpack和“混合”值?

我可以传递KEYS = {'key1', 'key2'}并将其unpack为: 'key1', '', 'key2', ''吗? 谢谢!

在桌子上使用Lua的unpack ,即:

redis.call('MSETNX', unpack(KEYS))

注意:不要使用KEYS作为表名,因为Redis使用该表将键名传递给脚本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM