Python 如何跨多个模块处理Redis连接?
我正在构建一个将Redis用作数据存储的应用程序。因此,我有许多与Redis交互的函数,通常作为一组Redis命令的包装 当应用程序超过我的初始.py文件时,我不知道如何处理多个模块之间的Redis连接。目前,指向Redis连接的指针声明在文件顶部,每个函数都假定它存在,而不是将它传递给每个函数。如果我将这些函数分散到多个文件中,那么每个模块都会创建自己的Redis指针以供使用,并且应用程序的每个实例都会打开到Redis的多个连接 我希望有一个实例只使用相同的连接 我不想这样做:Python 如何跨多个模块处理Redis连接?,python,redis,Python,Redis,我正在构建一个将Redis用作数据存储的应用程序。因此,我有许多与Redis交互的函数,通常作为一组Redis命令的包装 当应用程序超过我的初始.py文件时,我不知道如何处理多个模块之间的Redis连接。目前,指向Redis连接的指针声明在文件顶部,每个函数都假定它存在,而不是将它传递给每个函数。如果我将这些函数分散到多个文件中,那么每个模块都会创建自己的Redis指针以供使用,并且应用程序的每个实例都会打开到Redis的多个连接 我希望有一个实例只使用相同的连接 我不想这样做: import
import redis
class MyApp(object):
def __init__(self):
self.r = redis.Redis()
(all my app functions that touch redis go here)
我也不想把Redis指针作为参数传递给每个函数
有没有其他方法可以让不同模块的函数共享一个Redis()实例?类似这样的方法:
模块redis\u管理器:
class RedisManager(object):
def __init__():
# Connect to redis etc
self.redis = 12345
redis_manager = RedisManager()
然后在其他模块中,您可以执行以下操作:
from redis_manager import redis_manager
redis_manager.redis.stuff
哎呀,嗯。没有考虑创建一个只创建连接的文件,然后导入指针而不是类。谢谢