From 2c46e85017e57d8919783d4fcfed0069ff201761 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 03 八月 2023 15:01:35 +0800 Subject: [PATCH] redis上级缓存添加 --- code_attribute/gpcode_first_screen_manager.py | 32 +++++++++++++++++++++++--------- 1 files changed, 23 insertions(+), 9 deletions(-) diff --git a/code_attribute/gpcode_first_screen_manager.py b/code_attribute/gpcode_first_screen_manager.py index cc078c7..2f88333 100644 --- a/code_attribute/gpcode_first_screen_manager.py +++ b/code_attribute/gpcode_first_screen_manager.py @@ -5,15 +5,19 @@ # 璁剧疆棣栨澘鏈瓫閫夌殑鐩爣绁� import json +from db.redis_manager import RedisUtils from utils import tool from db import redis_manager -from third_data import block_info +from third_data import block_info __redisManager = redis_manager.RedisManager(0) def __get_redis(): return __redisManager.getRedis() + + +__first_code_data_cache = {} # 淇濆瓨棣栨澘绁ㄧ殑鏁版嵁 @@ -23,14 +27,24 @@ # 4.鏈�杩戠偢寮�鏃堕棿 # 5.鏄惁宸茬粡娑ㄥ仠 def __save_first_code_data(code, data): - __redisManager.getRedis().setex(f"first_code_data-{code}", tool.get_expire(), json.dumps(data)) + tool.CodeDataCacheUtil.set_cache(__first_code_data_cache, code, data) + RedisUtils.setex(__redisManager.getRedis(), f"first_code_data-{code}", tool.get_expire(), json.dumps(data)) def __get_first_code_data(code): - val = __get_redis().get(f"first_code_data-{code}") + val = RedisUtils.get(__get_redis(), f"first_code_data-{code}") if val is None: return None return json.loads(val) + + +def __get_first_code_data_cache(code): + cache_result = tool.CodeDataCacheUtil.get_cache(__first_code_data_cache, code) + if cache_result[0]: + return cache_result[1] + val = __get_first_code_data(code) + tool.CodeDataCacheUtil.set_cache(__first_code_data_cache, code, val) + return val # 娣诲姞杩涢鏉挎湭绛涢�夌エ @@ -38,24 +52,24 @@ redis = __redisManager.getRedis() if codes: for code in codes: - redis.sadd("first_no_screen_codes", code) - redis.expire("first_no_screen_codes", tool.get_expire()) + RedisUtils.sadd(redis, "first_no_screen_codes", code) + RedisUtils.expire(redis, "first_no_screen_codes", tool.get_expire()) def clear_first_no_screen_codes(): redis = __redisManager.getRedis() - redis.delete("first_no_screen_codes") + RedisUtils.delete(redis, "first_no_screen_codes") def __remove_first_no_screen_codes(codes): redis = __redisManager.getRedis() if codes: for code in codes: - redis.srem("first_no_screen_codes", code) + RedisUtils.srem(redis, "first_no_screen_codes", code) def __get_first_no_screen_codes(): - codes = __get_redis().smembers("first_no_screen_codes") + codes = RedisUtils.smembers(__get_redis(), "first_no_screen_codes") if not codes: return set() return codes @@ -66,7 +80,7 @@ for price in prices: code = price["code"] time_ = price["time"] - old_data = __get_first_code_data(code) + old_data = __get_first_code_data_cache(code) if old_data is None: continue limit_up = price["limit_up"] -- Gitblit v1.8.0