Я создаю приложение, которое использует Redis как хранилище данных. Соответственно, у меня есть много функций, которые взаимодействуют с Redis, обычно как обертки для группы команд Redis.Как обрабатывать соединение Redis через несколько модулей?
Поскольку приложение растет после моего первоначального файла .py, я не понимаю, как обрабатывать соединение Redis через несколько модулей. В настоящее время мой указатель на соединение Redis объявлен в верхней части файла, и каждая функция предполагает, что он присутствует, а не передает его каждой функции. Если я распространю эти функции на несколько файлов, каждый модуль создаст свой собственный указатель Redis для использования, и каждый экземпляр приложения откроет несколько подключений к Redis.
Я бы хотел, чтобы один экземпляр просто использовал одно и то же соединение.
Я не хотите сделать это:
import redis
class MyApp(object):
def __init__(self):
self.r = redis.Redis()
(all my app functions that touch redis go here)
Я также не хочу, чтобы передать указатель Redis в качестве аргумента в каждой функции.
Есть ли какой-либо другой способ, я могу получить функции из разных модулей, чтобы поделиться одним экземпляром Redis()?
К сожалению, дух. Не думал о создании файла, который * просто * создает соединение, а затем импортирует указатель, а не класс. Благодаря! –