[英]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.