2012-10-17 43 views
0

更具体,我创建了一个自定义的Redis模块:MyRedisPython模块在Web应用程序中的行为如何?

MyRedis.py

import redis 
r = redis.StrictRedis(host='localhost', port=6379, db=0) 

def get_func(k): 
    """ A custom get function """ 
    return r.get(k) 

# ... 
# more functions ... 
# ... 

注意加载的模块时建立连接。
我的问题是:
这是写在模块的正确方法,或者我应该包括r = redis.StrictRedis(...)连接各功能内建立线,就像这样:

def get_func(k): 
    """ A custom get function """ 
    r = redis.StrictRedis(host='localhost', port=6379, db=0) 
    return r.get(k) 

在一个Web应用程序,是一个模块只加载一次,如在“常规”后端应用程序?或者每个连接加载一次?
如果它只加载一次,这意味着如果Redis服务器由于某种原因崩溃,一旦它再次启动将不会有连接,这表明第二个代码段是正确的。
那么python模块如何在Web应用程序中运行?

回答

0

然而,SAPI的行为。如果是CGI,则会为每个请求加载。对于mod_wsgi,它为每个进程加载一次。对于其他人请参阅他们的文档。

相关问题