Administrator
2023-08-02 32f47c162b6638a186135ae1267c870233ec21f9
redis封装
22个文件已修改
143 ■■■■■ 已修改文件
code_attribute/code_nature_analyse.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
code_attribute/gpcode_manager.py 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
config/settings.py 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/redis_manager.py 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/cancel_buy_strategy.py 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/code_price_manager.py 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/transaction_progress.py 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
output/kp_client_msg_manager.py 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
third_data/code_plate_key_manager.py 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ths/l2_code_operate.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ths/l2_listen_pos_health_manager.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/bidding_money_manager.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/deal_big_money_manager.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/huaxin/huaxin_trade_record_manager.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/huaxin/trade_api_server.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/huaxin_trade.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/l2_trade_util.py 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/trade_data_manager.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/trade_gui.py 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/trade_huaxin.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/trade_juejin.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/trade_manager.py 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
code_attribute/code_nature_analyse.py
@@ -29,7 +29,7 @@
    @classmethod
    def get_k_format(cls, code):
        val = cls.__get_redis().get(f"k_format-{code}")
        val = RedisUtils.get(cls.__get_redis(), f"k_format-{code}")
        if val:
            return json.loads(val)
        return None
@@ -53,7 +53,7 @@
    @classmethod
    def get_nature(cls, code):
        val = cls.__get_redis().get(f"code_nature-{code}")
        val = RedisUtils.get(cls.__get_redis(), f"code_nature-{code}")
        if val:
            return json.loads(val)
        return None
code_attribute/gpcode_manager.py
@@ -100,12 +100,12 @@
    # 设置首板代码名称
    @classmethod
    def set_first_code_names(cls, datas):
        cls.__get_redis().set("gp_list_names_first", json.dumps(datas))
        RedisUtils.set( cls.__get_redis(), "gp_list_names_first", json.dumps(datas))
    # 设置二板代码名称
    @classmethod
    def set_second_code_names(cls, datas):
        cls.__get_redis().set("gp_list_names", json.dumps(datas))
        RedisUtils.set(cls.__get_redis(), "gp_list_names", json.dumps(datas))
    # 删除首板代码名称
    @classmethod
@@ -135,7 +135,7 @@
    @classmethod
    def is_in_first_record(cls, code):
        if cls.__get_redis().sismember("first_code_record", code):
        if RedisUtils.sismember( cls.__get_redis(), "first_code_record", code):
            return True
        else:
            return False
@@ -150,7 +150,7 @@
    # 是否涨停过
    @classmethod
    def is_limited_up(cls, code):
        if cls.__get_redis().sismember("first_code_limited_up_record", code):
        if RedisUtils.sismember( cls.__get_redis(), "first_code_limited_up_record", code):
            return True
        else:
            return False
@@ -176,11 +176,11 @@
    @classmethod
    def remove_code(cls, code):
        cls.__get_redis().srem(cls.__redis_key, code)
        RedisUtils.srem( cls.__get_redis(),cls.__redis_key, code)
    @classmethod
    def is_in(cls, code):
        return cls.__get_redis().sismember(cls.__redis_key, code)
        return RedisUtils.sismember( cls.__get_redis(), cls.__redis_key, code)
    @classmethod
    def list_code(cls):
@@ -208,11 +208,11 @@
    @classmethod
    def remove_code(cls, code):
        cls.__get_redis().srem(cls.__redis_key, code)
        RedisUtils.srem(cls.__get_redis(), cls.__redis_key, code)
    @classmethod
    def is_in(cls, code):
        return cls.__get_redis().sismember(cls.__redis_key, code)
        return RedisUtils.sismember( cls.__get_redis(), cls.__redis_key, code)
    @classmethod
    def list_code(cls):
config/settings.py
@@ -1,5 +1,6 @@
# 设置模块
from db import redis_manager
from db.redis_manager import RedisUtils
__redis_manager = redis_manager.RedisManager(2)
@@ -9,7 +10,7 @@
def is_accept_l2_data():
    val = __get_redis().get("not_accpt_l2_data")
    val = RedisUtils.get(__get_redis(), "not_accpt_l2_data")
    if val is None:
        return True
    else:
@@ -21,6 +22,8 @@
def set_accept_l2_data(val):
    if val:
        __get_redis().set("not_accpt_l2_data", 0)
        RedisUtils.set(
            __get_redis(),"not_accpt_l2_data", 0)
    else:
        __get_redis().set("not_accpt_l2_data", 1)
        RedisUtils.set(
            __get_redis(),"not_accpt_l2_data", 1)
db/redis_manager.py
@@ -57,9 +57,31 @@
        return redis_.sadd(key, val)
    @classmethod
    def sismember(cls, redis_, key, val):
        return redis_.sismember(key, val)
    @classmethod
    def smembers(cls, redis_, key):
        return redis_.smembers(key)
    @classmethod
    def srem(cls, redis_, key, val):
        return redis_.srem(key, val)
    @classmethod
    def incrby(cls, redis_, key, num):
        return redis_.incrby(key, num)
    @classmethod
    def lpush(cls, redis_, key, val):
        return redis_.lpush(key, val)
    @classmethod
    def lpop(cls, redis_, key):
        return redis_.lpop(key)
if __name__ == "__main__":
    pass
l2/cancel_buy_strategy.py
@@ -759,7 +759,7 @@
    @classmethod
    def __get_real_order_index(cls, code):
        val = cls.__get_redis().get(f"d_cancel_real_order_index-{code}")
        val = RedisUtils.get(cls.__get_redis(), f"d_cancel_real_order_index-{code}")
        if val:
            return int(val)
        return None
@@ -850,12 +850,12 @@
    def __add_watch_index(cls, code, index):
        CodeDataCacheUtil.clear_cache(cls.__cancel_watch_index_cache, code)
        RedisUtils.sadd(cls.__get_redis(), f"l_cancel_watch_index-{code}", index)
        cls.__get_redis().expire(f"l_cancel_watch_index-{code}", tool.get_expire())
        RedisUtils.expire(cls.__get_redis(), f"l_cancel_watch_index-{code}", tool.get_expire())
    @classmethod
    def __del_watch_index(cls, code, index):
        CodeDataCacheUtil.clear_cache(cls.__cancel_watch_index_cache, code)
        cls.__get_redis().srem(f"l_cancel_watch_index-{code}", index)
        RedisUtils.srem(cls.__get_redis(), f"l_cancel_watch_index-{code}", index)
    @classmethod
    def __get_watch_indexes(cls, code):
@@ -1008,7 +1008,7 @@
    @classmethod
    def __get_l2_second_money_record(cls, code, time):
        key = "l2_limit_up_second_money-{}-{}".format(code, time.replace(":", ""))
        val = cls.__get_redis().get(key)
        val = RedisUtils.get(cls.__get_redis(), key)
        return cls.__format_second_money_record_val(val)
    @classmethod
@@ -1034,7 +1034,7 @@
    @classmethod
    def __get_l2_latest_money_record(cls, code):
        key = "l2_limit_up_money-{}".format(code)
        result = cls.__get_redis().get(key)
        result = RedisUtils.get(cls.__get_redis(), key)
        if result:
            result = json.loads(result)
            return result[0], result[1]
@@ -1077,7 +1077,7 @@
        keys.sort(key=lambda tup: int(tup.split("-")[-1]))
        if len(keys) > 0:
            key = keys[0]
            val = cls.__get_redis().get(key)
            val = RedisUtils.get(cls.__get_redis(), key)
            old_num, old_from, old_to = cls.__format_second_money_record_val(val)
            end_index = old_to
            # 保存最近的数据
@@ -1339,12 +1339,12 @@
    @classmethod
    def __incre_sell_data(cls, code, num):
        key = "limit_up_sell_num-{}".format(code)
        cls.__get_redis().incrby(key, num)
        RedisUtils.incrby( cls.__get_redis(),key, num)
    @classmethod
    def __get_sell_data(cls, code):
        key = "limit_up_sell_num-{}".format(code)
        val = cls.__get_redis().get(key)
        val = RedisUtils.get(cls.__get_redis(), key)
        if val is None:
            return 0
        return int(val)
@@ -1357,7 +1357,7 @@
    @classmethod
    def __get_process_index(cls, code):
        key = "limit_up_sell_index-{}".format(code)
        val = cls.__get_redis().get(key)
        val = RedisUtils.get(cls.__get_redis(), key)
        if val is None:
            return -1
        return int(val)
l2/code_price_manager.py
@@ -26,7 +26,7 @@
    @classmethod
    def __get_buy1_price_info(cls, code):
        data = cls.__get_redis().get(f"buy1_price_limit_up_info-{code}")
        data = RedisUtils.get(cls.__get_redis(), f"buy1_price_limit_up_info-{code}")
        if not data:
            return None, None
        data = json.loads(data)
@@ -39,7 +39,7 @@
    @classmethod
    def __get_buy1_price(cls, code):
        return cls.__get_redis().get(f"buy1_price-{code}")
        return RedisUtils.get(cls.__get_redis(), f"buy1_price-{code}")
    # 设置炸板后的最低价
    @classmethod
@@ -48,7 +48,7 @@
    @classmethod
    def __get_open_limit_up_lowest_price(cls, code):
        return cls.__get_redis().get(f"open_limit_up_lowest_price-{code}")
        return RedisUtils.get(cls.__get_redis(), f"open_limit_up_lowest_price-{code}")
    @classmethod
    def set_open_limit_up_lowest_price(cls, code, price):
l2/transaction_progress.py
@@ -30,7 +30,7 @@
    # 返回数据与更新时间
    def __get_buy_queue_data(self, code):
        key = "trade_buy_queue_data-{}".format(code)
        val = self.__getRedis().get(key)
        val = RedisUtils.get(self.__getRedis(), key)
        if val is None:
            return None, None
        val = json.loads(val)
@@ -43,7 +43,7 @@
    def __get_buy_progress_index(self, code):
        key = "trade_buy_progress_index-{}".format(code)
        val = self.__getRedis().get(key)
        val = RedisUtils.get(self.__getRedis(), key)
        if val is None:
            return None, True
        val = json.loads(val)
@@ -57,7 +57,7 @@
    def __get_latest_not_limit_up_time(self, code):
        key = "latest_not_limit_up_time-{}".format(code)
        if not constant.TEST:
            return self.__getRedis().get(key)
            return RedisUtils.get(self.__getRedis(), key)
        return None
    # 保存数据,返回保存数据的条数
output/kp_client_msg_manager.py
@@ -8,7 +8,7 @@
from code_attribute import gpcode_manager
from log_module import log
from db.redis_manager import RedisManager
from db.redis_manager import RedisManager, RedisUtils
from log_module.log import logger_kp_msg
CLIENT_IDS = ["zjb", "hxh"]
@@ -24,11 +24,12 @@
    # 添加消息,2s内有效
    def add_msg(self, client_id, msg):
        self.__get_redis().lpush(f"kp_msg_queue-{client_id}", json.dumps((time.time() + 2, msg)))
        RedisUtils.lpush(
            self.__get_redis(),f"kp_msg_queue-{client_id}", json.dumps((time.time() + 2, msg)))
    # 读取消息
    def read_msg(self, client_id):
        data = self.__get_redis().lpop(f"kp_msg_queue-{client_id}")
        data =RedisUtils.lpop(self.__get_redis(), f"kp_msg_queue-{client_id}")
        if not data:
            return None
        data = json.loads(data)
third_data/code_plate_key_manager.py
@@ -92,7 +92,7 @@
    # 今日涨停原因变化
    def set_today_limit_up_reason_change(self, code, from_reason, to_reason):
        RedisUtils.sadd(self.__get_redis(), f"kpl_limit_up_reason_his-{code}", from_reason)
        self.__get_redis().expire(f"kpl_limit_up_reason_his-{code}", tool.get_expire())
        RedisUtils.expire(self.__get_redis(), f"kpl_limit_up_reason_his-{code}", tool.get_expire())
        self.__set_total_keys(code)
    # 设置代码的今日涨停原因
@@ -267,7 +267,7 @@
        reasons = self.__history_limit_up_reason_dict.get(code)
        if reasons is None:
            # 从内存中加载
            val = self.__get_redis().get(f"kpl_his_limit_up_reason-{code}")
            val = RedisUtils.get(self.__get_redis(), f"kpl_his_limit_up_reason-{code}")
            if val is not None:
                val = set(json.loads(val))
                self.__history_limit_up_reason_dict[code] = val
@@ -286,7 +286,7 @@
        reasons = self.__blocks_dict.get(code)
        if reasons is None:
            # 从内存中加载
            val = self.__get_redis().get(f"kpl_blocks-{code}")
            val = RedisUtils.get(self.__get_redis(), f"kpl_blocks-{code}")
            if val is not None:
                val = set(json.loads(val))
                self.__blocks_dict[code] = val
ths/l2_code_operate.py
@@ -226,7 +226,7 @@
        RedisUtils.setex(cls.getRedis(),"code-operate_state-{}-{}".format(client_id, channel), 10, state)
    def get_operate_code_state(self, client_id, channel):
        value = self.getRedis().get("code-operate_state-{}-{}".format(client_id, channel))
        value = RedisUtils.get(self.getRedis(), "code-operate_state-{}-{}".format(client_id, channel))
        if value is not None:
            return int(value)
        return value
ths/l2_listen_pos_health_manager.py
@@ -22,7 +22,7 @@
def __get_health_state(client_id, pos):
    val = __get_redis().get(f"l2_pos_health_state-{client_id}-{pos}")
    val = RedisUtils.get(__get_redis(), f"l2_pos_health_state-{client_id}-{pos}")
    if val is None:
        return UN_KNOWN
    return int(val)
trade/bidding_money_manager.py
@@ -30,7 +30,7 @@
# 获取竞价金额
def get_bidding_money(code) -> object:
    val = __get_redis().get("bidding_money")
    val = RedisUtils.get(__get_redis(), "bidding_money")
    if not val:
        return None
    vals = json.loads(val)
trade/deal_big_money_manager.py
@@ -48,7 +48,7 @@
# 获取成交计算进度
def __get_deal_compute_progress(code):
    val = __get_redis().get(f"deal_compute_info-{code}")
    val = RedisUtils.get(__get_redis(), f"deal_compute_info-{code}")
    if val is None:
        return -1, 0
    val = json.loads(val)
trade/huaxin/huaxin_trade_record_manager.py
@@ -119,7 +119,7 @@
    @classmethod
    def get_code_volume(cls, code):
        val = cls.__get_redis().get(f"available_position_{code}")
        val = RedisUtils.get(cls.__get_redis(), f"available_position_{code}")
        if not val:
            return 0
        return int(val)
@@ -296,7 +296,7 @@
    @classmethod
    def get_data(cls):
        val = cls.get_redis().get("huaxin_money")
        val = RedisUtils.get( cls.get_redis(), "huaxin_money")
        if not val:
            return None
        return json.loads(val)
trade/huaxin/trade_api_server.py
@@ -331,7 +331,7 @@
                        try:
                            # 验证redis
                            redis_manager.RedisManager(0).getRedis().get("test")
                            RedisUtils.get(redis_manager.RedisManager(0).getRedis(),"test")
                            fdata["redis"] = 1
                        except:
                            fdata["redis"] = 0
trade/huaxin_trade.py
@@ -32,7 +32,7 @@
    # 删除订单ID
    @classmethod
    def remove_order_id(cls, code, account_id, order_id):
        cls.__get_redis().srem(f"huaxin_order_id-{code}", json.dumps((account_id, order_id)))
        RedisUtils.srem(cls.__get_redis(), f"huaxin_order_id-{code}", json.dumps((account_id, order_id)))
    # 查询所有的订单号
    @classmethod
trade/l2_trade_util.py
@@ -20,11 +20,11 @@
    @classmethod
    def remove_code(cls, code):
        cls.__get_redis().srem("white_list_codes", code)
        RedisUtils.srem(cls.__get_redis(), "white_list_codes", code)
    @classmethod
    def is_in(cls, code):
        return cls.__get_redis().sismember("white_list_codes", code)
        return RedisUtils.sismember( cls.__get_redis(), "white_list_codes", code)
    @classmethod
    def list_codes(cls):
@@ -49,11 +49,11 @@
    @classmethod
    def remove_code(cls, code):
        cls.__get_redis().srem("forbidden-trade-codes", code)
        RedisUtils.srem(cls.__get_redis(), "forbidden-trade-codes", code)
    @classmethod
    def is_in(cls, code):
        return cls.__get_redis().sismember("forbidden-trade-codes", code)
        return RedisUtils.sismember( cls.__get_redis(), "forbidden-trade-codes", code)
    @classmethod
    def list_codes(cls):
trade/trade_data_manager.py
@@ -181,7 +181,8 @@
    def __increment_down_price_time(self, code, seconds):
        key = "under_water_seconds-{}".format(code)
        self.__get_redis().incrby(key, seconds)
        RedisUtils.incrby(
            self.__get_redis(),key, seconds)
        # 设置个失效时间
        RedisUtils.expire(self.__get_redis(), key, tool.get_expire())
@@ -313,7 +314,7 @@
    @classmethod
    def __incre_place_order_count(cls, code):
        key = "place_order_count-{}".format(code)
        cls.__get_redis().incrby(key, 1)
        RedisUtils.incrby(cls.__get_redis(), key, 1)
        RedisUtils.expire(cls.__get_redis(), key, tool.get_expire())
    @classmethod
trade/trade_gui.py
@@ -611,7 +611,7 @@
    @classmethod
    def __get_code_win(cls, code):
        key = "buywin_distribute-{}".format(code)
        win = cls.__get_redis().get(key)
        win = RedisUtils.get(cls.__get_redis(), key)
        if win is not None:
            return int(win)
        return None
@@ -643,7 +643,7 @@
            raise Exception("必须要有一个买入窗口")
        win_set = set(win_list)
        for k in keys:
            win = int(cls.__get_redis().get(k))
            win = int(RedisUtils.get(cls.__get_redis(),k))
            if win in win_set:
                win_set.remove(win)
        if len(win_set) > 0:
@@ -723,7 +723,7 @@
        results = []
        for k in keys:
            code = k.split("-")[-1]
            win = cls.__get_redis().get(k)
            win = RedisUtils.get(cls.__get_redis(), k)
            results.append((code, win))
        return results
trade/trade_huaxin.py
@@ -31,7 +31,7 @@
    # 删除订单ID
    @classmethod
    def remove_order_id(cls, code, account_id, order_id):
        cls.__get_redis().srem(f"huaxin_order_id-{code}", json.dumps((account_id, order_id)))
        RedisUtils.srem(cls.__get_redis(), f"huaxin_order_id-{code}", json.dumps((account_id, order_id)))
    # 查询所有的订单号
    @classmethod
trade/trade_juejin.py
@@ -35,12 +35,12 @@
    @classmethod
    def add_order_id(cls, code, account_id, order_id):
        RedisUtils.sadd(cls.__get_redis(),f"juejin_order_id-{code}", json.dumps((account_id, order_id)))
        cls.__get_redis().expire(f"juejin_order_id-{code}", tool.get_expire())
        RedisUtils.expire(cls.__get_redis(), f"juejin_order_id-{code}", tool.get_expire())
    # 删除订单ID
    @classmethod
    def remove_order_id(cls, code, account_id, order_id):
        cls.__get_redis().srem(f"juejin_order_id-{code}", json.dumps((account_id, order_id)))
        RedisUtils.srem(cls.__get_redis(), f"juejin_order_id-{code}", json.dumps((account_id, order_id)))
    # 查询所有的订单号
    @classmethod
trade/trade_manager.py
@@ -64,7 +64,7 @@
    @classmethod
    def is_can_buy(cls):
        # 默认设置为可交易
        val = cls.__get_redis().get("trade_buy_state")
        val = RedisUtils.get(cls.__get_redis(), "trade_buy_state")
        if val is None:
            return True
        if int(val) == 1:
@@ -97,7 +97,7 @@
    @classmethod
    def get_mode(cls):
        # 默认设置为可交易
        val = cls.__get_redis().get("trade_buy_mode")
        val = RedisUtils.get(cls.__get_redis(), "trade_buy_mode")
        if val is None:
            return cls.MODE_BUY_ALL
        return int(val)
@@ -118,11 +118,11 @@
    @classmethod
    def remove_code(cls, code):
        cls.__get_redis().srem(cls.__key, code)
        RedisUtils.srem(cls.__get_redis(), cls.__key, code)
    @classmethod
    def is_in(cls, code):
        return cls.__get_redis().sismember(cls.__key, code)
        return RedisUtils.sismember( cls.__get_redis(), cls.__key, code)
    @classmethod
    def clear(cls):