from abc import ABCMeta, abstractmethod from typing import Optional, Any, Dict class BaseCache(metaclass=ABCMeta): """缓存基类,定义通用接口""" @abstractmethod async def get(self, cache_name: str, key: str) -> Optional[str]: """获取缓存值""" pass @abstractmethod async def set(self, cache_name: str, key: str, value: str) -> None: """设置缓存值""" pass @abstractmethod async def get_dict(self, cache_name: str, key: str) -> Optional[Dict[str, Any]]: """获取缓存值""" pass @abstractmethod async def set_dict(self, cache_name: str, key: str, value: Dict[str, Any]) -> None: """设置缓存值""" pass @abstractmethod async def delete(self, cache_name: str, key: str) -> None: """删除缓存""" pass @abstractmethod async def clear(self, cache_name: str, key: str = None) -> None: """删除指定缓存""" pass