脚本里命令的调用必须用KEYS ARRAY的形式

错误表现

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

解决办法

所有的redis.call这样的命令都要写成这种形式: redis.call('get', KEYS[1]), 第二个参数必须是KEYS[index]的这种,这好像是阿里云处于安全原因

相关链接

  • 阿里云Redis lua命令支持及相关限制说明

如果是Redis集群必须保证脚本的KEYS参数都落在同一个slot里

错误表现

ERR Error running script (call to f_4a610f5543b3c3450220da7bd47825d3b6bffae8): @user_script:1: @user_script: 1: Lua script attempted to access a non local key in a cluster node
ERR eval/evalsha command keys must be in same slot(阿里云Redis集群版)

原因

集群版的redis,脚本操作的所有KEYS都必须保证在同一个slot里
这里的KEYS是指你用EVAL script numkeys key [key ...] arg [arg ...],
或者 EVALSHA sha1 numkeys key [key …] arg [arg …]传递给脚本的key参数,
不是脚本里执行redis.call(command,key) 里的key,最开始报错的时候,我就找错地方了

解决办法

保证传递给脚本的KEY都带有相同的{hash字符串}标记,比如:

EVALSHA f_4a610f5543b3c3450220da7bd47825d3b6bffae8 abc_{大括号里保证相同} def_{大括号里保证相同} arg1 arg2

这样就能保证abc_{大括号里保证相同}def_{大括号里保证相同}这2个键落在同一个slot里了

阿里云redis的lua脚本报错踩坑记相关推荐

  1. zookeeper一键启动关闭JAVA_HOME在PATH中找不到报错踩坑记

    最近看了尚硅谷的zookeeper教程,在集群环境搭建中, 有这么一个脚本zk.sh用来一键启动和查询 #!/bin/bash case $1 in "start"){for i ...

  2. 为了转行程序员而努力的第四十五天-二叉树,centOS联网,阿里云源配置yum makecache报错

    今天在配置上花的时间太多,主要怕进行到一半,明天就要从头开始,以至于都没有太多时间总结了,锻炼的时间也被挤掉了,争取明天早起来补上.就不多感慨了,直接进入正题. 今日进度: 1.坚持刷题,坚持听网课, ...

  3. 阿里云主机安装开发工具包报错处理

    环境: 阿里云主机系统版本:Centos6.2 x64 错误: 安装开发工具包报错,使用163yum源: # yum  groupinstall   "Development tools&q ...

  4. oss上传报错_layui+oss阿里云附件上传回调报错问题

    新的广告系统, 采用客户端直接上传到阿里云,阿里云异步调用服务器的模式(Browser.js) 参考地址:https://www.alibabacloud.com/help/zh/doc-detail ...

  5. 解决阿里云CentOS8 yum安装appstream报错,更新yum后无法makecache的问题

    问题 CentOS 8 yum安装软件时,提示无法从appstream下载 [root@iZwz99xeomvq1omj9cu7tuZ yum.repos.d]# yum -y install epe ...

  6. Docker推送镜像到自己的阿里云卡住,也不报错

    Docker推送镜像到自己的阿里云容器,一直卡住.Pushing,也不报错,也不上传. be5668ce5ec1: Layer already exists 5f70bf18a086: Layer a ...

  7. 阿里云linux主机安装qt报错:缺少libxkbcommon-x11.so.0

    ubuntu云主机安装xfce桌面后,下载qt5.12.10,开发桌面应用,安装qt时报错缺少libxkbcommon-x11.so.0. 由于xfce是轻量级桌面不带libxkbcommon-x11 ...

  8. 云服务器(阿里云)安装kafka及相关报错处理(WARN Connection request from old client /58.247.201.56:31365; will be dropp)

    linux下载:wget http://mirrors.hust.edu.cn/apache/kafka/2.0.0/kafka_2.12-2.0.0.tgz 云服务器安装kafka,部署zookee ...

  9. 阿里云对象存储oss依赖报错

    参照github的实例,引入 <!--阿里云对象存储oss--> <dependency><groupId>com.alibaba.cloud</groupI ...

最新文章

  1. 程序员因开发速度太慢而遭公司起诉,索赔金额高达90万!
  2. Hive的基本操作-创建外部表
  3. win10大文件无法移动到U盘
  4. Maven精选系列--私库搭建及使用
  5. 在Rstudio中点一点就出来了一个R包
  6. 【springboot 踩坑记录】拦截器中无法注入bean
  7. AcWing 195. 骑士精神
  8. Unity2020.1中如何安装DOTS的Entities包?
  9. LAMP架构之编译安装MySQL和PHP
  10. 网络安全——Base64编码、MD5、SHA1-SHA512、HMAC(SHA1-SHA512)哈希
  11. linux mysql 相关操作、问题
  12. meanshift跟踪算法
  13. python测试自动化封装_python接口自动化学习笔记(封装获取测试数据方法)
  14. 红米手机开发版怎么样获取ROOT权限
  15. C语言机器人视觉系统原理,机器人视觉系统的组成及工作原理
  16. 360智能摄像头 android,360智能摄像机app
  17. 第一篇:爬虫基本原理
  18. DeepNet :Scaling Transformers to 1000 Layer
  19. 公司固定资产该哪个部门管理,一般公司固定资产怎么管理
  20. 东邪西毒新编 (转)

热门文章

  1. iCore-3588MQ 车规级AI核心板
  2. Decred(德信币)
  3. 腿粗适合穿什么样裤型牛仔裤?
  4. 如何快速入门Ajax(学习笔记)—— 原生ajax、jQuery、axios
  5. 【Unity2D】实现人物跳跃二段跳以及掉落的动画和代码
  6. 如何批量修改CAD中相同的文字内容?
  7. Destoon免登陆文章通用发布插件
  8. Python最大的特点
  9. bzoj 4883 [Lydsy1705月赛]棋盘上的守卫 题解(思维,建图,最小基环森林)
  10. 建筑设计网站安利,让你的设计灵感源源不绝!