""" 热门板块数据处理 """ import json import tool from db import redis_manager __redisManager = redis_manager.RedisManager(0) def __get_redis(): return __redisManager.getRedis() # 保存数据 def save_datas(datas): code_block_dict = {} block_codes_dict = {} for block in datas: codes = [] for code_data in block[2]: code = code_data[0].split(".")[0] if code not in code_block_dict: code_block_dict[code] = set() code_block_dict[code].add(block[0]) codes.append(code) block_codes_dict[block[0]] = codes __save_block_codes(block_codes_dict) for key in code_block_dict: __save_code_block(key, code_block_dict[key]) # 保存代码所属板块 def __save_code_block(code, blocks): __get_redis().setex(f"code_blocks-{code}", tool.get_expire(), json.dumps(list(blocks))) # 保存板块下的代码 def __save_block_codes(block_codes): __get_redis().setex(f"blocks_codes", tool.get_expire(), json.dumps(block_codes)) def __get_block_codes(): val = __get_redis().get(f"blocks_codes") if val is None: return None return json.loads(val) # 获取代码板块 def get_code_blocks(code): val = __get_redis().get(f"code_blocks-{code}") if val is None: return None return json.loads(val) # 获取板块下的所有代码 def get_block_codes(block): block_codes = __get_block_codes() if block_codes: block_codes.get(block) return None if __name__ == "__main__": print(get_code_blocks("600468"))