From 4d321ae069fce2c0f6f7884bec8fa6c4ec534d1a Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 03 八月 2023 18:25:33 +0800
Subject: [PATCH] redis连接池归还

---
 code_attribute/code_volumn_manager.py |   59 +++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 33 insertions(+), 26 deletions(-)

diff --git a/code_attribute/code_volumn_manager.py b/code_attribute/code_volumn_manager.py
index 737c9a4..0849d48 100644
--- a/code_attribute/code_volumn_manager.py
+++ b/code_attribute/code_volumn_manager.py
@@ -20,8 +20,11 @@
     redis = __redis_manager.getRedis()
     global_util.max60_volumn[code] = (max60, max60_day)
     global_util.yesterday_volumn[code] = yesterday
-    RedisUtils.setex(redis, "volumn_max60-{}".format(code), tool.get_expire(), json.dumps((max60, max60_day)))
-    RedisUtils.setex(redis, "volumn_yes-{}".format(code), tool.get_expire(), yesterday)
+    try:
+        RedisUtils.setex(redis, "volumn_max60-{}".format(code), tool.get_expire(), json.dumps((max60, max60_day)), auto_free=False)
+        RedisUtils.setex(redis, "volumn_yes-{}".format(code), tool.get_expire(), yesterday, auto_free=False)
+    finally:
+        redis.connection_pool.disconnect()
 
 
 # 鑾峰彇鍘嗗彶閲�
@@ -29,13 +32,16 @@
     max60 = global_util.max60_volumn.get(code)
     yesterday = global_util.yesterday_volumn.get(code)
     redis = __redis_manager.getRedis()
-    if max60 is None:
-        max60 = RedisUtils.get(redis, "volumn_max60-{}".format(code))
-        if max60:
-            max60 = json.loads(max60)
-    if yesterday is None:
-        yesterday = RedisUtils.get(redis, "volumn_yes-{}".format(code))
-    return max60, yesterday
+    try:
+        if max60 is None:
+            max60 = RedisUtils.get(redis, "volumn_max60-{}".format(code), auto_free=False)
+            if max60:
+                max60 = json.loads(max60)
+        if yesterday is None:
+            yesterday = RedisUtils.get(redis, "volumn_yes-{}".format(code), auto_free=False)
+        return max60, yesterday
+    finally:
+        redis.connection_pool.disconnect()
 
 
 __today_volumn_cache = {}
@@ -51,16 +57,14 @@
     if code in __today_volumn_cache and volumn - __today_volumn_cache[code] < 100000:
         return
     __today_volumn_cache[code] = volumn
-    redis = __redis_manager.getRedis()
-    RedisUtils.setex(redis, "volumn_today-{}".format(code), tool.get_expire(), volumn)
+    RedisUtils.setex( __redis_manager.getRedis(), "volumn_today-{}".format(code), tool.get_expire(), volumn)
 
 
 # 鑾峰彇浠婃棩閲�
 def get_today_volumn(code):
     _volumn = global_util.today_volumn.get(code)
     if _volumn is None:
-        redis = __redis_manager.getRedis()
-        _volumn = RedisUtils.get(redis, "volumn_today-{}".format(code))
+        _volumn = RedisUtils.get(__redis_manager.getRedis(), "volumn_today-{}".format(code))
     return _volumn
 
 
@@ -101,19 +105,22 @@
 # 灏嗛噺浠庢暟鎹簱鍔犲叆鍐呭瓨
 def load():
     redis = __redis_manager.getRedis()
-    keys = RedisUtils.keys(redis, "volumn_max60-*")
-    if keys is not None:
-        for k in keys:
-            code = k.split("-")[1]
-            max60_volumn = RedisUtils.get(redis, k)
-            if max60_volumn:
-                max60_volumn = json.loads(max60_volumn)
-            global_util.max60_volumn[code] = max60_volumn
-    keys = RedisUtils.keys(redis, "volumn_yes-*")
-    if keys is not None:
-        for k in keys:
-            code = k.split("-")[1]
-            global_util.yesterday_volumn[code] = RedisUtils.get(redis, k)
+    try:
+        keys = RedisUtils.keys(redis, "volumn_max60-*", auto_free=False)
+        if keys is not None:
+            for k in keys:
+                code = k.split("-")[1]
+                max60_volumn = RedisUtils.get(redis, k, auto_free=False)
+                if max60_volumn:
+                    max60_volumn = json.loads(max60_volumn)
+                global_util.max60_volumn[code] = max60_volumn
+        keys = RedisUtils.keys(redis, "volumn_yes-*", auto_free=False)
+        if keys is not None:
+            for k in keys:
+                code = k.split("-")[1]
+                global_util.yesterday_volumn[code] = RedisUtils.get(redis, k, auto_free=False)
+    finally:
+        redis.connection_pool.disconnect()
 
 
 if __name__ == "__main__":

--
Gitblit v1.8.0