Administrator
2023-08-03 ab749778b2d5ebb4352da1b55f1403ed44c60355
redis上级缓存添加
2个文件已修改
23 ■■■■ 已修改文件
trade/deal_big_money_manager.py 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/trade_data_manager.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/deal_big_money_manager.py
@@ -55,10 +55,20 @@
    return val[0], val[1]
# 获取成交计算进度
def __get_deal_compute_progress_cache(code):
    cache_result = tool.CodeDataCacheUtil.get_cache(__deal_compute_progress_cache, code)
    if cache_result[0]:
        return cache_result[1]
    val = __get_deal_compute_progress(code)
    tool.CodeDataCacheUtil.set_cache(__deal_compute_progress_cache, code, val)
    return val
# 设置成交进度
def __set_deal_compute_progress(code, index, money):
    RedisUtils.setex(__get_redis(),f"deal_compute_info-{code}", tool.get_expire(), json.dumps((index, money)))
    __deal_compute_progress_cache[code] = (index, money)
    tool.CodeDataCacheUtil.set_cache(__deal_compute_progress_cache, code, (index, money))
    RedisUtils.setex(__get_redis(), f"deal_compute_info-{code}", tool.get_expire(), json.dumps((index, money)))
# 设置成交进度
@@ -67,7 +77,7 @@
        return
    __last_progress[code] = progress
    # 计算从开始位置到成交位置
    c_index, deal_num = __get_deal_compute_progress(code)
    c_index, deal_num = __get_deal_compute_progress_cache(code)
    process_index = c_index
    for i in range(c_index + 1, progress):
        data = total_data[i]
@@ -89,5 +99,5 @@
def get_deal_big_money_num(code):
    if code in __deal_compute_progress_cache:
        return __deal_compute_progress_cache.get(code)[1]
    compute_index, num = __get_deal_compute_progress(code)
    compute_index, num = __get_deal_compute_progress_cache(code)
    return num
trade/trade_data_manager.py
@@ -171,6 +171,7 @@
            cls.__instance.__redisManager = redis_manager.RedisManager(0)
            cls.__instance.__under_water_last_time_cache = {}
            cls.__instance.__code_current_rate_cache = {}
            cls.__instance.__code_current_rate_latest = {}
        return cls.__instance
@@ -233,6 +234,10 @@
    # 保存当前涨幅
    def __save_current_rate(self, code, rate):
        # 变化之后才会持久化
        if self.__code_current_rate_latest.get(code) == rate:
            return
        self.__code_current_rate_latest[code] = rate
        tool.CodeDataCacheUtil.set_cache(self.__code_current_rate_cache, code, rate)
        key = "code_current_rate-{}".format(code)
        RedisUtils.setex(self.__get_redis(), key, tool.get_expire(), rate)