15from typing import Any18class Cache:26    def __init__(self):
27        self._cache = {}29    def clear_all(self):33        self._cache = {}35    def push(self, name: str, value: Any):如果队列不存在,请创建一个空队列
44        if name not in self._cache:
45            self._cache[name] = []推送到队列
48        self._cache[name].append(value)50    def q_size(self, name):58        if name not in self._cache:
59            return None
60
61        if type(self._cache[name]) != list:
62            return None
63
64        return len(self._cache[name])66    def pop(self, name: str):73        return self._cache[name].pop(0)75    def set(self, key: str, value: Any):82        self._cache[key] = value84    def get(self, key: str, default: Any = None):92        return self._cache.get(key, default)94    def clear(self, key: str):100        del self._cache[key]缓存的单例
104_INSTANCE = None107def get_cache() -> Cache:113    global _INSTANCE
114
115    if _INSTANCE is None:
116        _INSTANCE = Cache()
117
118    return _INSTANCE