更具体地说,我创建了一个自定义 Redis 模块:MyRedis
我的Redis.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 应用程序中是如何表现的呢?