python中类似guava中的cache工具类,以实现访问cache时,如没有命中则自动发起远端请求获取并缓存再返回给客户端,能设定有效时间,超时时自动清除缓存。
import requests
from cachetools import TTLCache
创建一个带有有效时间的缓存,有效时间为60秒
cache = TTLCache(maxsize=100, ttl=60)
def get_data_from_remote(url):
response = requests.get(url)
return response.json()
def get_data_with_cache(url):
if url in cache:
return cache[url]
else:
data = get_data_from_remote(url)
cache[url] = data
return data
使用示例
url = "https://api.example.com/data"
data = get_data_with_cache(url)
print(data)