Hello!
2013/2/25 chuang:
> 有一个应用场景,使用了Lua的协程,想根据Lua协程的lua_state,传入一个通用的key来得到Lua协程对应的一段数据,但是不管lua_setglobal还是针对registry表的存储,最后都会到global中,也就是说,这一个Lua协程根据这个通用key存储的数据,最后会覆盖上一个Lua协程的数据,不知道在ngx_lua中这一点是如何处理的?
>
Lua 的 registry 总是全局共享的。
Lua 的全局变量的局部化,在 ngx_lua 中是通过为协程对应的主 Lua 函数设置独立的环境表来实现状态隔离的(即通过 lua_setfenv 调用)。
Best regards,
-agentzh