alt*_*vic 2 lua redis lua-table
我正在尝试MSETNX
从 Lua 脚本调用 redis。如果它们不存在,我需要设置一些带有空值的键。
我试着这样做:
redis.call('MSETNX', KEYS)
KEYS{'key1', '', 'key2', ''}
传递给脚本。
但这不起作用,因为此调用需要作为参数传递的单个键和值,而不是表。
这有效:
redis.call('MSETNX', 'key1', '', 'key2', '')
但是 KEYS 变量是动态的,所以我不能那样做。
如何MSETNX
在不必单独明确列出每个键的情况下调用?
- 编辑 -
是否可以unpack
“混合”值?
我可以通过KEYS = {'key1', 'key2'}
与unpack
它:'key1', '', 'key2', ''
?谢谢!
unpack
表上使用Lua的,即:
redis.call('MSETNX', unpack(KEYS))
Run Code Online (Sandbox Code Playgroud)
旁注:不要KEYS
用作表的名称,因为 Redis 使用该表将键名传递给脚本。