nginx-lua worker 之间数据共享,nginx-luaworker


问题

最近工作中做性能优化用到Lua (openresty), 由于调研不深入,导致上线时滥用了全局变量导致数据共享,数据错乱,所以有必要整理一下这个知识点。

nginx worker之间数据共享

如果要在同一个 nginx worker 不同请求之间共享数据,需要将共享数据或者代码放到一个lua 模块中,然后使用内置函数require 导入该模块,就可以读取或者操作共享数据了,除了模块级变量外,lua 全局变量在每个请求之间不会共享,这是最初设计决定的。

特别注意: 模块级全局变量在同一个nginx worker 不同请求之间时共享的,如果此处操作不当,在并发情况下,可能会导致我之前遇到的问题数据互相干扰。

例子

再加。

相关内容

    暂无相关文章