local lua 多个_配置openresty使用lua并发请求API

本文介绍了如何利用openresty结合Lua解决页面加载慢的问题,通过并发请求多个API并一次性返回数据给前端,提高系统效率。讨论了Lua的特性、数据类型、表达式、控制结构和函数,并展示了在openresty中使用Lua并发请求API的示例,包括配置nginx、处理请求和合并响应等步骤,同时提到了一些使用过程中可能遇到的坑。
摘要由CSDN通过智能技术生成

背景

现在搞的系统前后端分离,采用 restful 风格设计 API.

随着业务发展,出现了一个页面的数据需要请求多个接口,才能完整展示数据.

导致页面加载耗时很长.因此决定采用openresty 来并发请求客户端发送来的接口地址,再一次性返回多个接口的数据给前端.这样前端只需要请求服务端一次.还可以任意组装接口.

使用的框架是 laravel. 每一个接口地址都要指定请求方式才可以访问.

Lua语法

lua特殊点

1.默认变量,函数都是全局的.慎用.要用 local 修饰符.

2.字符串,数组下标是从1开始

一.数据类型

nil 空

一个变量未被赋值就是 nil

将 nil赋予给一个全局变量就等于删除它

boolean 布尔

lua 中 nil 和 false 为假.其他为真.0和空字符串也是真

number 数字

用于表示实数. math.floor向下取整. math.ceil 向上取整

string 字符串

lua 中字符串不能更改.也不能通过下标访问某个字符.

在 lua 中.两个完全一样的 lua 字符串在虚拟机中只会存储一份.

每一个字符串在创建时都会插入到 lua 虚拟机内部的一个全局的哈希表中.

table 表

table 类型实现了一种抽象的关联数组.

local corp = {

name = “kang”,

age = 20

}

function 函数

在 lua 中.函数也是一种数据类型.函数可以存储在变量中.通过参数传递给其他函数.汉可以作为函数的返回值.

local function foo()

local x=10;

local y=20;

return x+y;

end;

local a=foo;

a();

二.表达式

算术运算符

加+

减-

乘*

除/

指数^

取余%

关系运算符

小于<

大于>

小于等于<=

大于等于>=

等于==

不等于~=

逻辑运算符

与 and

或 or

非 not

字符连接

使用操作符 “..” (两个点).

如果其任意一个是数字的话.将会把这个数字转换为字符串.

也可以用 string 库的函数 string.format 连接字符串.

string.format(“%s-%s”,”hello”,”word”);

hello-word

推荐使用 table.concat()来进行字符串拼接.因为 lua 中字符串是只读的.连接操作会创建一个新的字符串.性能损耗大.

三.表达式

1.单个 if 分支

x=10

if x>0 then

print(x);

end;

2.两个分支 if-else

x=10

if x>0 then</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值