在用lua编写nginx模块的时候,模块的什么部分应该写在init_by_lua里呢?是不是把模块需要用到的全局变量和函数都写在init_by_lua里?
我在编写自己的模块时,就是刚才那样做的,不知道有没有问题。在init_by_lua_file init.lua中,我把所有的函数都写在init.lua中并且都申明为local,有一个入口函数为handle()。
在access_by_lua中,调用handle这个入口函数时,我发现local的handle性能比全局的handle差,这是为什么呢?另外什么部分应该写在set_by_lua里呢?
init_by_lua '
local set()
...
end
...
local handle(...) ->这个handle是入口函数,其申明为local时的性能不如申明为全局的
...
end()
';
access_by_lua'
handle(...); ->在access中是这样调用的
';
不知道我这样编写lua模块的结构合不合理,一般编写lua模块的时候,函数申明是放在哪里呢?如果不放在init中,应该放在什么地方呢?