gpt4 book ai didi

java - 如何从java将变量传递给lua脚本? ( io.生菜.core )

转载 作者:行者123 更新时间:2023-12-03 00:44:20 26 4
gpt4 key购买 nike

我有一个像这样的 lua 脚本,它在远程 redis 集群上执行 hgetall 命令:

String shaFindAccount = syncCommands.scriptLoad("local hgetAllKeys = function(key) \n" +
"local acc = redis.call('HGETALL', key)\n" +
"return acc\n" +
"end\n");

我想将一个变量传递给 hgetall 调用。这就是我的 eval 语句,调用上面的脚本,如下所示:

list = syncCommands.evalsha(shaFindAccount, ScriptOutputType.MULTI, key);

其中key是acc的唯一标识符(主键)。现在这个函数返回一个空列表。

如何使用 io.lettuce.core 将 java 变量传递到上面的 lua 脚本中? (没有连接问题,我可以使用带有硬编码 key 值的类似查询,并且它可以工作)

最佳答案

您可以在 this 中找到一些示例单元测试。看来你应该这样调用它:

list = syncCommands.evalsha(digest, MULTI, new String[0], key));

您应该将该参数引用为 ARGV[1]。

关于java - 如何从java将变量传递给lua脚本? ( io.生菜.core ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55026369/

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