【发布时间】:2021-09-29 11:19:26
【问题描述】:
Lua 脚本:
local r = {}
for _, m in pairs(ARGV) do
if redis.call('SISMEMBER', KEYS[1], m) == 1 then
r[#r + 1] = m
end
end
return r
我正在使用 sprint boot 的 redis-templete
@Autowired
private RedisScript<Set> redisScript;
Set<String> set = redisTemplete.execute(redisScript,"a", Arrays.asList("1", "2")); --to execute redis lua scipt
Above redisTemplete.execute command not working error: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Set
It works when I use assign result to List instead of Set List<String> set = redisTemplete.execute(redisScript, "a", Arrays.asList("1", "2")); --working
有什么办法可以修改 Lua 脚本使其返回 set 而不是 List?
【问题讨论】:
标签: java spring-boot redis lua