摘要:
1. 安装 SystemTap 1. 首先安装内核开发包和调试包: 其中 $version 使用 linux 命令 uname a 查看,需要保证内核版本和上述开发包版本一致才能使用 systemtap。 centos 7 的 debuginfo 相关 rpm 包可以在如下链接下载: "debugi 阅读全文
摘要:
1. ngx.var.VARIABLE 读或者写 Nginx 变量值: 注:仅仅是已经定义了的 Nginx 变量可以被写入: 也就是说,无法动态创建 Nginx 变量。 一些特殊的变量(如 $args 和 $limit_rate)可以被分配一个值,其他许多变量不是,如 $query_string, 阅读全文
摘要:
原文: "openresty/replace filter nginx module" 1. 概要 2. 描述 该 Nginx 输出过滤模块尝试尽可能以非缓存模式执行正则表达式替换。 该模块没有使用像 PCRE 这样的传统回溯正则表达式 engines,而是使用由作者实现的新的 sregex 库,它 阅读全文
摘要:
ngx.shared.DICT.set 原文: "ngx.shared.DICT.set" 无条件地将键值对设置到 ngx.shared.DICT 中。返回三个值: success:布尔值,指示键值对是否成功设置到共享内存中 err:文本错误信息,可能为 "no memory" forcible:布 阅读全文
摘要:
ngx.shared.DICT.get 原文: "ngx.shared.DICT.get" 检索 ngx.shared.DICT 共享内存中 key 对应的值。如果 key 不存在或者超时,则返回 nil。 如果发生错误,返回 nil 和错误描述字符串。 在插入字典后,返回的值具有原始数据类型,如 阅读全文
摘要:
原文: "lua resty limit traffic/lib/resty/limit/count.md" 1. 示例 注: 该模块依赖 lua resty core,因此需要: 2. 方法 2.1 new 实例化 class 的对象,该 class 通过 返回。 该 new 方法携带的参数如下: 阅读全文
摘要:
ngx.shared.DICT.expire 原文链接: "ngx.shared.DICT.expire" 设置存储于共享内存 ngx.shared.DICT 中的键值对的过期时间(以秒为单位)。如果操作完成返回布尔值指示成功,否则返回 nil 和错误信息字符串。 如果 key 不存在,则该方法返回 阅读全文
摘要:
ngx.shared.DICT.incr 原文: "ngx.shared.DICT.incr" 通过步长值 value 增加基于共享内存 ngx.shared.DICT 中 key 的值,如果操作成功,则返回新的结果值,否则返回 nil 和错误描述字符串。 当 key 不存在或者已经在共享内存中已经 阅读全文
摘要:
参考链接: "resty.core.shdict" ngx_shared.DICT 源码正文: "dict.lua" 部分源码如下: 1. ngx.shared.DICT.incr 详解链接: "ngx.shared.DICT.incr 详解" 2. ngx.shared.DICT.expire 详 阅读全文
摘要:
1. FFI 教程 原文: "FFI Tutorial" 相关链接: "OpenResty 最佳实践之 FFI" 加载 FFI 库 FFI 库时默认编译进 LuaJIT 中的,但是不会默认加载或初始化。因此,当需要使用 FFI 库时,需要在 Lua 文件的开头添加如下语句: 访问标准系统函数 如下示 阅读全文