大气机械网站/沪指重上3000点
14.1 lua_shared_dict全局共享缓存
lua_shared_dict可以在nginx的多个worker之间共享数据,但是在多进程修改数据的时候会有锁,对性能有影响
1、首先在nginx.conf中定义一个1M的共享缓存,名称是shared_data
http {#在nginx.conf中设置共享缓存的大小是1m,名称是shared_datalua_shared_dict shared_data 1m;server {listen 8081;location / {default_type text/html;content_by_lua_file '/lua/hello.lua';}}
}
2、创建hello.lua文件获取共享缓存shared_data的内容
-- 获取nginx的共享缓存shared_data
local shared_data = ngx.shared.shared_data
-- 从共享缓存中获取变量i的值
local i = shared_data:get("i")
-- 如果i的值不存在
if not i then i = 1 -- 设置i的值到共享缓存中shared_data:set("i", i) -- 打印i的值ngx.say("lazy set i ", i, "<br/>")
end
-- i的值加一
i = shared_data:incr("i", 1)
-- 打印i的值
ngx.say("i=", i, "<br/>")