From c3429ad2482280083c8399412e6b2f3f6144d3b7 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 04 八月 2023 10:48:45 +0800 Subject: [PATCH] redis连接池归还 --- db/redis_manager.py | 73 ++++++++++++++++++++++-------------- 1 files changed, 44 insertions(+), 29 deletions(-) diff --git a/db/redis_manager.py b/db/redis_manager.py index 7e96a03..88e83b7 100644 --- a/db/redis_manager.py +++ b/db/redis_manager.py @@ -8,20 +8,14 @@ config = constant.REDIS_CONFIG -pool_cache = {} +pool_caches = [redis.ConnectionPool(host=config["host"], port=config["port"], password=config["pwd"], + db=db, decode_responses=True, max_connections=50) for db in range(16)] class RedisManager: def __init__(self, db=config["db"]): - pool = None - if db in pool_cache: - pool = pool_cache[db] - else: - pool = redis.ConnectionPool(host=config["host"], port=config["port"], password=config["pwd"], - db=db, decode_responses=True, max_connections=50) - pool_cache[db] = pool - self.pool = pool + self.pool = pool_caches[db] def getRedis(self): return redis.Redis(connection_pool=self.pool) @@ -31,11 +25,12 @@ @classmethod def get(cls, redis_, key, auto_free=True): try: - logger_redis_debug.info("get:{}",key) + logger_redis_debug.info("get:{}", key) return redis_.get(key) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def scard(cls, redis_, key, auto_free=True): @@ -43,7 +38,8 @@ return redis_.scard(key) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def delete(cls, redis_, key, auto_free=True): @@ -53,7 +49,8 @@ finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def keys(cls, redis_, key, auto_free=True): @@ -62,7 +59,8 @@ return redis_.keys(key) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def set(cls, redis_, key, val, auto_free=True): @@ -71,7 +69,8 @@ return redis_.set(key, val) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def setex(cls, redis_, key, expire, val, auto_free=True): @@ -80,7 +79,8 @@ return redis_.setex(key, expire, val) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def setnx(cls, redis_, key, val, auto_free=True): @@ -89,7 +89,8 @@ return redis_.setnx(key, val) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def expire(cls, redis_, key, expire, auto_free=True): @@ -98,7 +99,8 @@ return redis_.expire(key, expire) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def sadd(cls, redis_, key, val, auto_free=True): @@ -107,7 +109,8 @@ return redis_.sadd(key, val) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def sismember(cls, redis_, key, val, auto_free=True): @@ -116,7 +119,8 @@ return redis_.sismember(key, val) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def smembers(cls, redis_, key, auto_free=True): @@ -125,7 +129,8 @@ return redis_.smembers(key) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def srem(cls, redis_, key, val, auto_free=True): @@ -134,7 +139,8 @@ return redis_.srem(key, val) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def incrby(cls, redis_, key, num, auto_free=True): @@ -143,7 +149,8 @@ return redis_.incrby(key, num) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def lpush(cls, redis_, key, val, auto_free=True): @@ -152,7 +159,8 @@ return redis_.lpush(key, val) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def lpop(cls, redis_, key, auto_free=True): @@ -161,7 +169,8 @@ return redis_.lpop(key) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass @classmethod def rpush(cls, redis_, key, val, auto_free=True): @@ -170,11 +179,17 @@ return redis_.rpush(key, val) finally: if auto_free: - redis_.connection_pool.disconnect() + # redis_.connection_pool.disconnect() + pass - - + @classmethod + def realse(cls, redis_): + pass if __name__ == "__main__": - pass + redisManager = RedisManager(0) + for i in range(0, 50): + print(i) + redis = redisManager.getRedis() + redis -- Gitblit v1.8.0