Redis-py vám poskytuje fond připojení, ze kterého můžete načíst připojení. Fondy připojení vytvářejí sadu připojení, která můžete použít podle potřeby (a po dokončení se připojení vrátí do fondu připojení pro další opětovné použití). Pokus o vytvoření připojení za běhu, aniž byste je zahodil (tj. nepoužíváte fond nebo nepoužíváte fond správně), zanechá vám příliš mnoho spojení, které lze znovu načíst (dokud nedosáhnete limitu připojení).
Můžete se rozhodnout nastavit fond připojení v metodě init a učinit fond globálním (můžete se podívat na jiné možnosti, pokud vám to není globální).
redis_pool = None
def init():
global redis_pool
print("PID %d: initializing redis pool..." % os.getpid())
redis_pool = redis.ConnectionPool(host='10.0.0.1', port=6379, db=0)
Poté můžete načíst připojení z fondu, jako je tento:
redis_conn = redis.Redis(connection_pool=redis_pool)
Také předpokládám, že používáte rentaldis spolu s redis-py, protože by to mělo v určitých případech zlepšit výkon. Zkontrolovali jste také počet otevřených připojení k serveru redis s vaším stávajícím nastavením, protože je s největší pravděpodobností poměrně vysoký? K získání těchto informací můžete použít příkaz INFO:
redis-cli info
Podívejte se na Klienty sekce, ve které uvidíte „connected_clients ", které vám řekne, kolik připojení máte v daný okamžik otevřených k serveru redis.