Lua io.type()检查目录是否存在

Lua io.type()检查目录是否存在
io.type() 函数不能直接用于检查一个路径是否为目录。 io.type() 的作用是检测一个文件/路径的类型,它会返回以下类型字符串中的一个: "file" - 普通文件 "directory" - 目录 "socket" - Unix domain socket "char&qu……

openresty 2023-08-29 794 0

Lua 检查指定路径是否是一个目录

Lua 检查指定路径是否是一个目录
在Lua中,有几种方法可以检查指定路径是否是目录: 使用io.type()函数: local path = "/path/to/dir" if io.type(path) == "directory" then print(path, "is a directory") else ……

openresty 2023-08-29 791 0

Lua-table.concat()可以在关联数组中使用吗

Lua-table.concat()可以在关联数组中使用吗
table.concat无法直接用于关联数组,因为关联数组的元素顺序是不固定的。 但是我们可以先将关联数组转换为普通数组,然后使用table.concat: local t = { ['a'] = 1, ['b'] = 2, ['c'] = 3 } -- 转……

openresty 2023-08-29 790 0

openresty中rewrite_by_lua_file执行后会继续走log_by_lua_file阶段吗

openresty中rewrite_by_lua_file执行后会继续走log_by_lua_file阶段吗
不会,rewrite_by_lua_file和log_by_lua_file是两个独立的nginx配置,执行时线性的,一个完成后不会自动执行另一个。 rewrite_by_lua执行完成后,不会再继续执行log_by_lua rewrite_by_lua_file用于请求重写,执行完后nginx会继续处理请求。 log_by_lua_file用于访问日志……

openresty 2023-08-29 715 0

lua 检查判断一个变量是否是整数

lua 检查判断一个变量是否是整数
Lua中,检查一个变量是否是整数,可以使用一下几种方法: 使用type()函数检查变量类型: local n = 100 if type(n) == "number" and n == math.floor(n) then print("是整数") end 使用%操作符检查是否没有小数部分: local……

openresty 2023-08-29 745 0

Openresty子请求详解及使用示例

Openresty子请求详解及使用示例
Nginx 子请求可以发起非阻塞的内部请求访问目标 location。目标 location 可以是配置文件中其他文件目录,或 任何 其他 nginx C 模块,包括 ngx_proxy、ngx_fastcgi、ngx_memc、ngx_postgres、ngx_drizzle,甚至 ngx_lua 自身等等 。 子请求只是模拟 HTTP 接口的形式, ……

openresty 2023-08-23 418 0

OpenResty 共享内存实现的3种方式介绍

OpenResty 共享内存实现的3种方式介绍
前言 OpenResty是基于Nginx的Web平台,它通过Lua脚本语言扩展了Nginx的功能,为Nginx增加了很多高级功能,包括共享内存。OpenResty提供的共享内存,在多个nginx worker进程之间共享。下面具体介绍openresty实现共享内存的3种方式: 1. 直接声明lua_shared_dict OpenResty提供了一个lu……

openresty 2023-06-19 750 0

Lua保留指定小数点操作示例讲解

Lua保留指定小数点操作示例讲解
前言 在 Lua 中,保留小数点可以使用的数据类型有:number 和 string。 如果想要将一个 number 保留到指定的小数位,可以使用 Lua 的内置函数 string.format(),格式为 "%.nf",其中 n 为指定保留的小数位数,最后保留位数会进行四舍五入。 示例代码如下: local num = 10.014……

openresty 2023-06-16 681 0

openresty执行阶段详解

openresty执行阶段详解
前言 OpenResty是基于NGINX服务器的开发平台,其可通过Lua程序扩展NGINX的功能,运用于高并发、大规模的Web应用和服务。 OpenResty不仅支持丰富的协议及其派生产品(HTTP、HTTPS、WebSocket、Redis、MySQL等),也定义了微度调整Nginx请求处理流程的11个执行阶段。 这些执行阶段的详解如下所示: ……

openresty 2023-06-12 469 0

openresty中实现类似PHP的continue语法

openresty中实现类似PHP的continue语法
前言 在PHP的开发中,我们经常会在for循环中使用continue语法来实现判断逻辑后跳转到指定的位置,这种方法在业务中非常实用,那在 OpenResty 中,其实本身没有continue的语法,但可以使用 goto 语句来模拟,达到跳转到指定的标签位置的目的。 具体地,可以使用 ::label:: 定义一个标签,然后使用 goto label 跳转到……

openresty 2023-06-08 298 0