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】
代理模式的额外限制,key的位置必须是KEYS array(不能使用Lua变量替换KEYS)
1、修改lua脚本,KEYS[i]是不支持的
2、或者使用直连地址连接实例执行该操作,如截图
如采用方案二 注意事项:
云数据库Redis集群版在迁移、变配时都会通过proxy代理迁移数据,直连模式下不符合代理模式的Lua脚本会迁移、变配失败。 建议在直连模式下使用Lua脚本时应尽可能符合代理模式下的限制规范,避免后续Lua脚本迁移、变配失败。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云NoSQL数据库提供了一种灵活的数据存储方式,可以支持各种数据模型,包括文档型、图型、列型和键值型。此外,它还提供了一种分布式的数据处理方式,可以支持高可用性和容灾备份。包含Redis社区版和Tair、多模数据库 Lindorm、MongoDB 版。