From a4f7391b134fed391743a56b8448d31cdd92f27c Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期一, 07 八月 2023 09:59:04 +0800
Subject: [PATCH] redis上级缓存

---
 code_attribute/gpcode_manager.py |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/code_attribute/gpcode_manager.py b/code_attribute/gpcode_manager.py
index 3e0471d..a3fc4ad 100644
--- a/code_attribute/gpcode_manager.py
+++ b/code_attribute/gpcode_manager.py
@@ -191,22 +191,23 @@
 # 鎯宠涔扮殑浠g爜
 class WantBuyCodesManager:
     __instance = None
+    redisManager = redis_manager.RedisManager(0)
+    __redis_key = "want_buy_codes"
 
     def __new__(cls, *args, **kwargs):
         if not cls.__instance:
             cls.__instance = super(WantBuyCodesManager, cls).__new__(cls, *args, **kwargs)
             # 鍒濆鍖栬缃�
             # 鑾峰彇浜ゆ槗绐楀彛鐨勯攣
-            cls.__instance.redisManager = redis_manager.RedisManager(0)
-            cls.__instance.__redis_key = "want_buy_codes"
-            cls.__instance.__want_buy_codes_cache = RedisUtils.smembers(cls.__instance.__get_redis(),
-                                                                        cls.__instance.__redis_key)
+            cls.__instance.__want_buy_codes_cache = RedisUtils.smembers(cls.__get_redis(),
+                                                                        cls.__redis_key)
         return cls.__instance
 
     __want_buy_codes_cache = set()
 
-    def __get_redis(self):
-        return self.redisManager.getRedis()
+    @classmethod
+    def __get_redis(cls):
+        return cls.redisManager.getRedis()
 
     def clear(self):
         RedisUtils.delete(self.__get_redis(), self.__redis_key)
@@ -221,10 +222,10 @@
         RedisUtils.srem(self.__get_redis(), self.__redis_key, code)
 
     def sync(self):
-        codes = RedisUtils.smembers(self.__get_redis(), self.__redis_key)
+        codes = self.list_code()
         self.__want_buy_codes_cache.clear()
         if codes:
-            self.__want_buy_codes_cache += set(codes)
+            self.__want_buy_codes_cache |= set(codes)
 
     def is_in(self, code):
         return RedisUtils.sismember(self.__get_redis(), self.__redis_key, code)
@@ -243,20 +244,19 @@
 # 涓庨粦鍚嶅崟鐨勫尯鍒槸鏆傚仠浜ゆ槗浠g爜鍙槸涓嶄氦鏄擄紝涓嶈兘绉婚櫎L2鐩戞帶浣�
 class PauseBuyCodesManager:
     __instance = None
+    redisManager = redis_manager.RedisManager(0)
+    __redis_key = "pause_buy_codes"
 
     def __new__(cls, *args, **kwargs):
         if not cls.__instance:
             cls.__instance = super(PauseBuyCodesManager, cls).__new__(cls, *args, **kwargs)
-            # 鍒濆鍖栬缃�
-            # 鑾峰彇浜ゆ槗绐楀彛鐨勯攣
-            cls.__instance.redisManager = redis_manager.RedisManager(0)
-            cls.__instance.__redis_key = "pause_buy_codes"
-            cls.__instance.__pause_buy_codes_cache = RedisUtils.smembers(cls.__instance.__get_redis(),
-                                                                         cls.__instance.__redis_key)
+            cls.__instance.__pause_buy_codes_cache = RedisUtils.smembers(cls.__get_redis(),
+                                                                         cls.__redis_key)
         return cls.__instance
 
-    def __get_redis(self):
-        return self.redisManager.getRedis()
+    @classmethod
+    def __get_redis(cls):
+        return cls.redisManager.getRedis()
 
     def clear(self):
         self.__pause_buy_codes_cache.clear()

--
Gitblit v1.8.0