fix(factors/engine): 修复 DataRouter 缓存 key 缺少 columns 导致的缓存污染

This commit is contained in:
2026-04-06 00:19:15 +08:00
parent ad8ba8f6ec
commit 161b7cc690

View File

@@ -191,9 +191,8 @@ class DataRouter:
Returns:
过滤后的 DataFrame
"""
cache_key = (
f"{spec.table}_{spec.join_type}_{start_date}_{end_date}_{stock_codes}"
)
cols_key = ",".join(sorted(spec.columns)) if spec.columns else "*"
cache_key = f"{spec.table}_{spec.join_type}_{start_date}_{end_date}_{stock_codes}_{cols_key}"
with self._lock:
if cache_key in self._cache:
@@ -259,7 +258,8 @@ class DataRouter:
Returns:
过滤后的 DataFrame
"""
cache_key = f"{table_name}_{start_date}_{end_date}_{stock_codes}"
cols_key = ",".join(sorted(columns)) if columns else "*"
cache_key = f"{table_name}_{start_date}_{end_date}_{stock_codes}_{cols_key}"
with self._lock:
if cache_key in self._cache: