在WSGI中,此行上方的所有内容都缓存在8个不同的主题中。
def application(environ, start_response):
我应该使用MemCached来缓存MySQL输出
或者我应该想办法使用WSGI来缓存MySQL输出
甚至可以做到吗?
这会是错误的做事方法吗?
答案 0 :(得分:0)
不,该行之上的所有内容都没有缓存在8个不同的主题中。
更有可能发生的是您在多进程配置中使用mod_wsgi,因此您有8个单独的应用程序副本,每个副本都在不同的独立进程中。
如果您确实拥有多线程进程,那么所有线程都将访问WSGI脚本文件/模块中的相同全局对象。
您需要提供有关特定Apache / mod_wsgi配置的更多信息,以便开始了解您看到自己所做的事情的原因。
你至少应该阅读:
您也应该考虑将mod_wsgi守护程序模式与单个多线程进程一起使用。但是,在这样做的过程中,您必须应对多线程应用程序访问共享数据的问题。也就是说,您需要确保通过适当的线程锁保护对全局数据的访问。对于数据库连接,您需要使用数据库连接池机制或以其他方式确保每个线程都使用自己的数据库连接。