Cache Service
CacheService provides typed cache storage plus a decorator for function-level caching.
Related pages: Key-Value-Service, Architecture.
Storage types
TEXTJSONBINARYPICKLE
Core methods
get(key, ttl=None)set_text,set_json,set_binary,set_pickleexists(key)
Decorator usage
import datetime
from naas_abi_core.services.cache.CachePort import DataType
@cache_service(
key_builder=lambda user_id: f"user:{user_id}",
cache_type=DataType.JSON,
ttl=datetime.timedelta(hours=1),
)
def load_user(user_id: str):
return {"id": user_id}To force bypass:
load_user("123", force_cache_refresh=True)Adapter
Current built-in adapter: filesystem (CacheFSAdapter) via CacheFactory.CacheFS_find_storage(...).