From e8ea6340db725a3b36a78e090fc6f97a90900264 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期一, 07 八月 2023 14:06:29 +0800
Subject: [PATCH] redis批量提交数据

---
 l2/l2_data_manager_new.py |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py
index f18ddf8..3c350b2 100644
--- a/l2/l2_data_manager_new.py
+++ b/l2/l2_data_manager_new.py
@@ -57,6 +57,7 @@
 
 
 # m鍊煎ぇ鍗曞鐞�
+m_big_money_begin_cache={}
 class L2BigNumForMProcessor:
 
     def __init__(self):
@@ -67,7 +68,8 @@
 
     # 淇濆瓨璁$畻寮�濮嬩綅缃�
     def set_begin_pos(self, code, index):
-        if self.__get_begin_pos(code) is None:
+        if self.__get_begin_pos_cache(code) is None:
+            tool.CodeDataCacheUtil.set_cache(m_big_money_begin_cache, code, index)
             # 淇濆瓨浣嶇疆
             key = "m_big_money_begin-{}".format(code)
             RedisUtils.setex(self.__get_redis(), key, tool.get_expire(), index)
@@ -79,6 +81,15 @@
         if val is None:
             return None
         return int(val)
+
+    def __get_begin_pos_cache(self, code):
+        cache_result = tool.CodeDataCacheUtil.get_cache(m_big_money_begin_cache,code)
+        if cache_result[0]:
+            return cache_result[1]
+        val =   self.__get_begin_pos(code)
+        tool.CodeDataCacheUtil.set_cache(m_big_money_begin_cache,code,val)
+        return val
+
 
     # 娓呴櫎宸茬粡澶勭悊鐨勬暟鎹�
     def clear_processed_end_index(self, code):
@@ -101,7 +112,7 @@
     # 澶勭悊澶у崟
     def process(self, code, start_index, end_index, limit_up_price):
 
-        begin_pos = self.__get_begin_pos(code)
+        begin_pos = self.__get_begin_pos_cache(code)
         if begin_pos is None:
             # 娌℃湁鑾峰彇鍒板紑濮嬩拱鍏ヤ俊鍙�
             return
@@ -320,7 +331,7 @@
             # 鏃堕棿宸笉鑳藉お澶ф墠鑳藉鐞�
             if not l2_trade_util.is_in_forbidden_trade_codes(code):
                 # 鍒ゆ柇鏄惁宸茬粡鎸傚崟
-                state = trade_manager.get_trade_state(code)
+                state = trade_manager.get_trade_state_cache(code)
                 start_index = len(total_datas) - len(add_datas)
                 end_index = len(total_datas) - 1
                 if state == trade_manager.TRADE_STATE_BUY_DELEGATED or state == trade_manager.TRADE_STATE_BUY_PLACE_ORDER or state == trade_manager.TRADE_STATE_BUY_SUCCESS:

--
Gitblit v1.8.0