11-从脚本中返回值
6.3.2 从脚本中返回值
在很多情况下都需要脚本可以返回值,比如前面的访问频率限制脚本会返回访问频率是否超限。在脚本中可以使用 return 语句将值返回给客户端,如果没有执行 return 语句则默认返回 nil 。因为我们可以像调用其他Redis内置命令一样调用我们自己写的脚本,所以同样Redis会自动将脚本返回值的Lua数据类型转换成Redis的返回值类型。具体的转换规则见表6-8(其中Lua的 false 比较特殊,会被转换成空结果)。
| Lua数据类型 | Redis返回值类型 | | :----- | :----- | :----- | :----- | | 数字类型 | 整数回复(Lua的数字类型会被自动转换成整数) | | 字符串类型 | 字符串回复 | | 表类型(数组形式) | 多行字符串回复 | | 表类型(只有一个ok字段存储状态信息) | 状态回复 | | 表类型(只有一个err字段存储错误信息) | 错误回复 |