У меня есть данные карты для кэширования в кластере Redis с использованием сценария lua в проекте Springboot, например:
{
"demoKey:{1}":"value1",
"demoKey:{2}":"value2",
"demoKey:{3}":"value3"
}
луа-скрипт такой:
local addMap = cjson.decode(ARGV[1]);
for fieldKey, fieldValue in pairs(addMap) do
redis.call("SET", fieldKey, fieldValue);
end
ЯВА-КОД:
final DefaultRedisScript<?> redisScript = new DefaultRedisScript<>();
redisScript.setScriptSource(LUA_SCRIPT);
redisClient.execute(redisScript, new ArrayList<>(), JsonUtil.toString(addMap));
Я установил ключ hash tag
в Redis, но все равно получаю исключение при запуске программы.
org.springframework.data.redis.RedisSystemException: Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: ERR Error running script (call to f_7cce57ffe5b0b94fa78680955c993e808ffa5f16):
@user_script:7: @user_script: 7: Lua script attempted to access a non local key in a cluster node
Признателен за любую помощь.