1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 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"))
|