ngx.shared.DICT.incr是原子操作吗?

我需要一个全局的计数器来统计 HTTP 请求的数量,并根据计数器执行一些重定向工作。我通过指令 lua_shared_dict 将全局计数器存储在 ngx_lua 模块的共享内存中,然后在 nginx 的每个工作进程中通过 API ngx.shared.DICT.incr 访问计数器并增加它。我困惑的是,是否需要一个锁机制来保护计数器变量,或者 ngx.shared.DICT.incr API 是原子的?我无法从官方文档中找到答案。

点赞
用户204011
用户204011

所有对 ngx.shared.DICT 的操作都是原子的。详情请见此讨论

2013-09-17 18:31:06