Мне непонятно, как работают пулы соединений и как их правильно использовать. Я надеялся, что кто-то сможет это сделать. Я набросал свой пример использования ниже:
settings.py:
import redis
def get_redis_connection():
return redis.StrictRedis(host='localhost', port=6379, db=0)
task1.py
import settings
connection = settings.get_redis_connection()
def do_something1():
return connection.hgetall(...)
task2.py
import settings
connection = settings.get_redis_connection()
def do_something1():
return connection.hgetall(...)
и др.
В основном у меня есть файл settings.py, который возвращает redis-соединения, и несколько разных файлов задач, которые получают соединения redis, а затем запускают операции. Таким образом, каждый файл задачи имеет свой собственный экземпляр redis (который предположительно является очень дорогим). Какой лучший способ оптимизации этого процесса. Можно ли использовать пулы соединений для этого примера? Есть ли более эффективный способ настройки этого шаблона?
Для нашей системы у нас есть более десятка файлов задач, следующих за этим же шаблоном, и я заметил, что наши запросы замедляются.
Спасибо