sql >> Base de Datos >  >> NoSQL >> Redis

¿Cómo uso correctamente los grupos de conexiones en redis?

Redis-py le proporciona un grupo de conexiones desde el que puede recuperar una conexión. Los grupos de conexiones crean un conjunto de conexiones que puede usar según sea necesario (y cuando termine, la conexión se devuelve al grupo de conexiones para su posterior reutilización). Intentar crear conexiones sobre la marcha sin descartarlas (es decir, no usar un grupo o no usar el grupo correctamente) lo dejará con demasiadas conexiones para redis (hasta que alcance el límite de conexión).

Puede elegir configurar el grupo de conexiones en el método init y hacer que el grupo sea global (puede ver otras opciones si no se siente cómodo con global).

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)

Luego puede recuperar la conexión de un grupo como este:

redis_conn = redis.Redis(connection_pool=redis_pool)

Además, asumo que está utilizando contratada junto con redis-py, ya que debería mejorar el rendimiento en ciertos casos. ¿Ha verificado también la cantidad de conexiones abiertas al servidor redis con su configuración existente, ya que probablemente sea bastante alta? Puede usar el comando INFO para obtener esa información:

redis-cli info

Verifique los Clientes sección en la que verás el "connected_clients " campo que le dirá cuántas conexiones tiene abiertas al servidor redis en ese instante.