Openresty nginx 中ngx.var与ngx.ctx的区别,简单的表达nginx 中 ngx.var与ngx.ctx的区别。

ngx.var 是获取 Nginx 的变量,需要经历字符串 hash、hash 表查找等过程

删除变量表达式 比如:ngx.var.a = nil  直接赋空即可

ngx.ctx 仅仅是一个 Lua table 而已,它的引用存放在 ngx_lua 的模块上下文(ctx_ref)

比如有  ngx.ctx["a"] = "hello"   -- 对应的是 key - value  table形式
删除 ngx.ctx table 变量表中项 比如 ngx.ctx["a"] = nil  或者  table.remove( ngx.ctx, "a")

使用 ngx.ctx 比 ngx.var 往往是更好的选择