Redis集群版本,且使用代理模式访问实例,执行lua脚本:
eval?"?for?i=1,?#KEYS?do?redis.call('set',KEYS[i],ARGV[1])?redis.call('expire',?KEYS[i],?tonumber(ARGV[1]))?end?return?'succ'?"?2?{wt:bb20000002}:30008:2022-10-10?{wt:bb20000002}:30008:2022-10-10?500
报错【error)?ERR?bad?lua?script?for?redis?cluster,?all?the?keys?that?the?script?uses?should?be?passed?using?the?KEYS?array,?and?KEYS?should?not?be?in?expression】
2000元阿里云代金券免费领取,2核4G云服务器仅799元/3年,新老用户都有优惠,立即抢购>>>
代理模式的额外限制,key的位置必须是KEYS array(不能使用Lua变量替换KEYS)
1、修改lua脚本,KEYS[i]是不支持的
2、或者使用直连地址连接实例执行该操作,如截图
如采用方案二 注意事项:
云数据库Redis集群版在迁移、变配时都会通过proxy代理迁移数据,直连模式下不符合代理模式的Lua脚本会迁移、变配失败。 建议在直连模式下使用Lua脚本时应尽可能符合代理模式下的限制规范,避免后续Lua脚本迁移、变配失败。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。