diff --git a/src/factors/engine/data_router.py b/src/factors/engine/data_router.py index 178580b..df44e69 100644 --- a/src/factors/engine/data_router.py +++ b/src/factors/engine/data_router.py @@ -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: