""" Cache module for ROA2WEB Provides hybrid two-tier caching (Memory L1 + SQLite L2) with performance tracking and event-based invalidation. Usage: # Initialize cache at app startup from app.cache import init_cache from app.cache.config import CacheConfig config = CacheConfig.from_env() await init_cache(config) # Use @cached decorator in services from app.cache.decorators import cached @cached(cache_type='dashboard_summary', key_params=['company', 'username']) async def get_complete_summary(company: str, username: str): # ... Oracle query logic ... # Get cache manager for manual operations from app.cache import get_cache cache = get_cache() await cache.invalidate(company_id=123) """ from .config import CacheConfig from .cache_manager import ( init_cache, get_cache, close_cache, CacheManager ) from .decorators import cached from .event_monitor import ( init_event_monitor, get_event_monitor, toggle_event_monitor, preload_all_schema_mappings ) from .benchmarks import run_baseline_benchmarks __all__ = [ # Configuration 'CacheConfig', # Cache Manager 'init_cache', 'get_cache', 'close_cache', 'CacheManager', # Decorators 'cached', # Event Monitor 'init_event_monitor', 'get_event_monitor', 'toggle_event_monitor', 'preload_all_schema_mappings', # Benchmarks 'run_baseline_benchmarks', ]