| | |
| | | from utils.tool import CodeDataCacheUtil |
| | | |
| | | |
| | | # 卖行情信息 |
| | | class L2MarketSellManager: |
| | | __db = 0 |
| | | __redis_manager = redis_manager.RedisManager(0) |
| | |
| | | def get_current_total_sell_data(self, code): |
| | | return self.__current_total_sell_data_cache.get(code) |
| | | |
| | | |
| | | # 获取参考卖的数据 |
| | | def get_refer_sell_data(self, code, time_str): |
| | | cuurent = self.__current_total_sell_data_cache.get(code) |
| | |
| | | return None |
| | | |
| | | |
| | | # 板上卖统计 |
| | | class L2LimitUpSellManager: |
| | | __db = 0 |
| | | __redis_manager = redis_manager.RedisManager(0) |
| | | __instance = None |
| | | __limit_up_sell_cache = {} |
| | | |
| | | def __new__(cls, *args, **kwargs): |
| | | if not cls.__instance: |
| | | cls.__instance = super(L2LimitUpSellManager, cls).__new__(cls, *args, **kwargs) |
| | | cls.__load_datas() |
| | | return cls.__instance |
| | | |
| | | @classmethod |
| | | def __get_redis(cls): |
| | | return cls.__redis_manager.getRedis() |
| | | |
| | | @classmethod |
| | | def __load_datas(cls): |
| | | __redis = cls.__get_redis() |
| | | try: |
| | | keys = RedisUtils.keys(__redis, "limit_up_sell_indexes-*") |
| | | for k in keys: |
| | | code = k.split("-")[-1] |
| | | val = RedisUtils.smembers(__redis, k) |
| | | CodeDataCacheUtil.set_cache(cls.__limit_up_sell_cache, code, val) |
| | | except: |
| | | pass |
| | | finally: |
| | | RedisUtils.realse(__redis) |
| | | |
| | | def add_limit_up_sell(self, code, index): |
| | | if code not in self.__limit_up_sell_cache: |
| | | self.__limit_up_sell_cache[code] = set() |
| | | self.__limit_up_sell_cache[code].add(index) |
| | | RedisUtils.sadd_async(self.__db, f"limit_up_sell_indexes-{code}", index) |
| | | RedisUtils.expire_async(self.__db, f"limit_up_sell_indexes-{code}", tool.get_expire()) |
| | | |
| | | def remove_limit_up_sell(self, code, index): |
| | | if code in self.__limit_up_sell_cache: |
| | | self.__limit_up_sell_cache[code].discard(index) |
| | | RedisUtils.srem_async(self.__db, f"limit_up_sell_indexes-{code}", index) |
| | | |
| | | def clear(self): |
| | | self.__limit_up_sell_cache.clear() |
| | | keys = RedisUtils.keys(self.__get_redis(), "limit_up_sell_indexes-*") |
| | | for k in keys: |
| | | RedisUtils.delete_async(self.__db, k) |
| | | |
| | | # 设置当前的总卖 |
| | | def get_limit_up_sell_indexes(self, code): |
| | | if code in self.__limit_up_sell_cache: |
| | | return self.__limit_up_sell_cache[code] |
| | | return set() |