当前位置:嗨网首页>书籍在线阅读

11-从脚本中返回值

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

6.3.2 从脚本中返回值

在很多情况下都需要脚本可以返回值,比如前面的访问频率限制脚本会返回访问频率是否超限。在脚本中可以使用 return 语句将值返回给客户端,如果没有执行 return 语句则默认返回 nil 。因为我们可以像调用其他Redis内置命令一样调用我们自己写的脚本,所以同样Redis会自动将脚本返回值的Lua数据类型转换成Redis的返回值类型。具体的转换规则见表6-8(其中Lua的 false 比较特殊,会被转换成空结果)。

表6-8 Lua数据类型和Redis返回值类型转换规则

| Lua数据类型 | Redis返回值类型 | | :----- | :----- | :----- | :----- | | 数字类型 | 整数回复(Lua的数字类型会被自动转换成整数) | | 字符串类型 | 字符串回复 | | 表类型(数组形式) | 多行字符串回复 | | 表类型(只有一个ok字段存储状态信息) | 状态回复 | | 表类型(只有一个err字段存储错误信息) | 错误回复 |