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