使用Lua 脚本实现redis 分布式锁,报错:ERR Error running script (call to f_8ea1e266485534d17ddba5af05c1b61273c30467): @user_script:10: @user_script: 10: Lua redis() command arguments must be strings or integers .
在使用SpringBoot开发时,使用RedisTemplate执行 redisTemplate.execute(lockScript, redisList);
发现报错:
ERR Error running script (call to f_8ea1e266485534d17ddba5af05c1b61273c30467): @user_script:10: @user_script: 10: Lua redis() command arguments must be strings or integers .
注意这里的RedisTemplate 使用的是:RedisTemplate<String, Object>
,问题就出在这里,必须使用StringRedisTemplate
这种类型的执行lua脚本才不会报错
注意:
执行lua脚本 必须使用StringRedisTemplate
类型的,否者报错!