gpt4 book ai didi

Lua 表作为 redis 参数

转载 作者:IT王子 更新时间:2023-10-29 06:04:24 24 4
gpt4 key购买 nike

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

我试着这样做:

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

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

这个有效:

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

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

如何调用 MSETNX 而不必单独显式列出每个键?

-- 编辑--

是否有可能解包和“混合”值?

我可以传递 KEYS = {'key1', 'key2'} 并将其解压 到:'key1', '', 'key2', ''?谢谢!

最佳答案

在table上使用Lua的unpack,即:

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

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

关于Lua 表作为 redis 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41019462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com