import time class Cache: def __init__(self): Cache.cache = {} # ttl 单位秒 def set(self, key, value, ttl=None): Cache.cache[key] = { 'value': value, 'expires': time.time() + ttl if ttl else None } def get(self, key): item = Cache.cache.get(key) if item: if item['expires'] is None or item['expires'] > time.time(): return item['value'] else: del Cache.cache[key] return None def delete(self, key): if key in Cache.cache: del Cache.cache[key] def clear(self): Cache.cache.clear() if __name__ == "__main__": # 测试永久存储 cache = Cache() cache1 = Cache() cache.set("key1", "value1") print("永久存储测试:", cache1.get("key1")) # 测试带过期时间的存储 cache.set("key2", "value2", ttl=2) print("带过期时间存储测试(立即查询):", cache.get("key2")) time.sleep(3) print("带过期时间存储测试(过期后查询):", cache.get("key2")) # 测试删除功能 cache.set("key3", "value3") cache.delete("key3") print("删除功能测试:", cache.get("key3")) # 测试清空功能 cache.set("key4", "value4") cache.clear() print("清空功能测试:", cache.get("key4"))