Principle:HKUDS AI Trader Frontend Cache Management
| Knowledge Sources | |
|---|---|
| Domains | Frontend, Caching, Performance |
| Last Updated | 2026-02-09 14:00 GMT |
Overview
Principle of using browser localStorage with versioned, time-expiring caches and pre-computed server-side JSON to accelerate dashboard page loads.
Description
Frontend cache management addresses the performance challenge of loading and processing large amounts of trading data (position logs, price histories) on every page visit. The strategy combines two layers: server-side pre-computation of aggregate data (via precompute_frontend_cache.py) and client-side localStorage caching with version tags and time-based expiry. Cache bypass is supported at multiple levels (URL parameters, localStorage overrides, YAML configuration) for development and debugging. Performance metrics track load times and cache hit rates to quantify the benefit.
Usage
Apply this principle when the dashboard data loading becomes noticeably slow. The cache system is transparent to other frontend modules and activates automatically when enabled in configuration.
Theoretical Basis
The caching strategy follows a multi-level lookup hierarchy:
# Abstract caching algorithm
def load_data(market):
# Level 1: Check browser localStorage
cached = localStorage.get(cache_key(market))
if cached and not expired(cached) and version_matches(cached):
return cached.data # Cache hit
# Level 2: Try server-side pre-computed JSON
precomputed = fetch(f"cache/{market}_data.json")
if precomputed:
localStorage.save(cache_key(market), precomputed)
return precomputed
# Level 3: Compute from raw data (slowest)
data = compute_from_position_logs(market)
localStorage.save(cache_key(market), data)
return data