Nginx 全局内存

Nginx 全局内存

Nginx 是一个 Master 进程多个 Worker 进程的工作方式,因此我们可能需要在多个 Worker 进程中
共享数据,那么此时就可以使用 ngx.shared.DICT 来实现全局内存共享。

首先在 nginx.conf 的 http 部分分配内存大小

#共享全局变量,在所有worker间共享 
lua_shared_dict shared_data 1m;  
--1、获取全局共享内存变量  
local shared_data = ngx.shared.shared_data  
--2、获取字典值  
local i = shared_data:get("i")  
if not i then  
i = 1  
--3、惰性赋值  
shared_data:set("i", i)  
ngx.say("lazy set i ", i, "<br/>")  
end  
--递增  
i = shared_data:incr("i", 1)  
ngx.say("i=", i, "<br/>")  

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注