我希望有人可以为我澄清这一点:
GAE 开发服务器是否也像生产服务器一样缓存 Python 全局范围?我的印象是没有。我在文档中找不到任何关于此的内容。
谢谢
五重奏
我希望有人可以为我澄清这一点:
GAE 开发服务器是否也像生产服务器一样缓存 Python 全局范围?我的印象是没有。我在文档中找不到任何关于此的内容。
谢谢
五重奏
是的,它确实。但是当您更改代码时,开发服务器会重新启动,并且您的模块具有全新的命名空间。
Python 在模块之间没有“全局范围”(例如 PHP 有)。它有命名空间。它们主要是模块名称空间(在您进行导入时创建),并且如您所知,GAE 缓存导入。此缓存在实例运行时处于活动状态。实例通常是 python 的进程,python 将变量值保存在内存中,直到至少有一个对它们的引用。
由于开发服务器模拟生产服务,它以相同的方式工作,但不同之处在于 devserver 监视您对文件所做的更改(我注意到不仅文件)并在需要时重新加载它们。为了保证重置模块导入缓存,您还需要像在生产中一样重新启动服务器。