我是 Redis 新手。请找到下面的 redis lua 脚本,使用它从使用 redis hmget 命令返回值。我正在做一个 nil 检查。如果该值不是 nil,则返回从 redis pcall 检索的值,否则返回 none。
public static final String LOAD_PARAMS_LUA_SCRIPT = local jobType = redis.pcall('hmget',KEYS[1],KEYS[2]) if jobType ~= nil then return jobType else jobType = 'none' end;
我正在从 java 调用 lua 脚本,如下所示:
List<String> keys = Arrays.asList("1000.123","status");
List<String> args = Arrays.asList();
if(!this.connection.scriptExists(LOAD_PARAMS_LUA_SCRIPT)) {
this.connection.scriptLoad(LOAD_PARAMS_LUA_SCRIPT);
}
ArrayList<String> test = (ArrayList<String>)connection.eval(GET_BULK_JOB_PARAMS_LUA_SCRIPT, keys, args);
System.out.println("test:" + test);
如果遗漏任何东西,请告诉我。我每次得到的响应都是空的。