2012-10-17 46 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,它爲每個進程加載一次。對於其他人請參閱他們的文檔。

相關問題