nginx-lua worker 之间数据共享,nginx-luaworker
nginx-lua worker 之间数据共享,nginx-luaworker
问题
最近工作中做性能优化用到Lua (openresty), 由于调研不深入,导致上线时滥用了全局变量导致数据共享,数据错乱,所以有必要整理一下这个知识点。
nginx worker之间数据共享
如果要在同一个 nginx worker 不同请求之间共享数据,需要将共享数据或者代码放到一个lua 模块中,然后使用内置函数require 导入该模块,就可以读取或者操作共享数据了,除了模块级变量外,lua 全局变量在每个请求之间不会共享,这是最初设计决定的。
特别注意: 模块级全局变量在同一个nginx worker 不同请求之间时共享的,如果此处操作不当,在并发情况下,可能会导致我之前遇到的问题数据互相干扰。
例子
再加。
评论暂时关闭