【redis集群】阿里云redis集群对lua脚本的支持程度

    xiaoxiao2021-04-15  249

    1 阿里云集群 对lua脚本的支持程度

    https://help.aliyun.com/document_detail/26356.html

    Lua使用限制

    Lua脚本放开限制,标准版-双节点、标准版-单节点支持用户直接调用。

    集群版本条件性支持: a 所有key都应该由KEYS数组来传递,redis.call/pcall中调用的redis命令,key的位置必须是KEYS array(不能使用Lua变量替换KEYS),否则直接返回错误信息,"-ERR bad lua script for redis cluster, all the keys that the script uses should be passed using the KEYS array\r\n"。

    b 所有key必须在1个slot上,否则返回错误信息,"-ERR eval/evalsha command keys must be in same slot\r\n"。

    c  调用必须要带有key,否则直接返回错误信息, "-ERR for redis cluster, eval/evalsha number of keys can't be negative or zero\r\n"。

    2 解决方案

    业务层保证key数组都落在一个solt中就可以关闭阿里云对lua脚本的限制!


    最新回复(0)