Optimize multi-model caching and frontend revalidation

This commit is contained in:
2569718930@qq.com
2026-05-20 08:58:16 +08:00
parent 1af33c3ab8
commit 72e93f8e93
7 changed files with 78 additions and 6 deletions
+12
View File
@@ -307,6 +307,16 @@ class DBManager:
source_fingerprint TEXT
)
""")
conn.execute("""
CREATE TABLE IF NOT EXISTS city_full_cache (
city TEXT PRIMARY KEY,
payload_json TEXT NOT NULL,
updated_at TEXT NOT NULL,
updated_at_ts REAL NOT NULL,
version TEXT,
source_fingerprint TEXT
)
""")
conn.execute("""
CREATE TABLE IF NOT EXISTS cache_refresh_locks (
cache_key TEXT PRIMARY KEY,
@@ -432,6 +442,8 @@ class DBManager:
return "city_nearby_cache"
if normalized == "market":
return "city_market_cache"
if normalized == "full":
return "city_full_cache"
return None
def get_city_cache(self, kind: str, city: str) -> Optional[Dict[str, Any]]: