openresty 全局變量

測試表明:

在init_by_* 這個階段定義的全局變量會放到全局表裏,這個全局表可以被自動複製到worker進程的環境裏,應該是在luaVM範圍內,require進來的模塊的_G也會指向這個worker進程的全局表,而其他階段,每個階段都有各自的_G,指向各自的全局表,這個全局表繼承了初始化階段的全局表,即_G的元表的__index指向worker進程的全局表。

require進來的模塊裏的全局變量是luaVM範圍內共享的,也就是一個進程內部共享(cache on的情況下)

其他階段的全局變量只是階段內共享,不能跨階段,如果想跨階段需要用ngx.ctx



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章