图腾机柜-经典工程,彰显高贵品质! 咨询热线:020-82519231 - 13342898875

服务热线:

13342898875

阿里云Redis lua命令支持及限制

发布时间:2019-09-23

Redis lua主要用途:

(1)描述界面:WOW和剑网三的界面都是用LUA写的;

(2)沟通引擎:游戏图形引擎提供了一些接口库,可以在LUA中调用; 

(3)服务器端:有些游戏,例如剑网三,在服务器端也会大量使用LUA。

 

那么下面就阿里云优惠券平台的小编一起来看看Redis lua命令支持及限制。

 

Lua 脚本功能是 Reids的最大亮点, 通过内嵌对 Lua 环境的支持, Redis 解决了长久以来不能高效地处理 CAS (check-and-set)命令的缺点, 并且可以通过组合使用多个命令, 轻松实现以前很难实现或者不能高效实现的模式。

阿里云Redis主从版本、集群版本、读写分离版本都支持Lua相关命令。用户如果发现无法执行Eval相关命令,比如报"ERR command eval not support for normal user"的时候可以再控制台进行一个小版本升级完成,升级过程中有闪断和只读影响,请在业务低峰期进行操作。

 

集群版本限制

默认阿里云Redis会对lua脚本做一定限制,目的是为了保证脚本里面的所有操作都在相同slot进行,如果用户能够在代码确保所有操作都在相同slot而又想打破Redis集群的lua限制的话可以通过控制台修改script_check_enable参数为0,则后端不会对脚本进行校验。

 

云Redis集群对lua脚本限制如下:

所有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 arrayrn"。

 

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

 

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

编辑:图腾机柜
本文关键字: - 图腾机柜
来源:互联网

联系我们

13342898875

地址:广东省广州市天河区
          圃兴路51号长航商务
          中心二层D08 图腾机柜
 
邮箱:totenvip@163.com
电话:020-82519231
手机:13342898875