在FastAPI中实现缓存可以使用第三方库,比如cachetools
或aiocache
。以下是使用cachetools
实现缓存的示例代码:
from fastapi import FastAPI
from cachetools import TTLCache
app = FastAPI()
# 创建一个TTLCache缓存实例,设置缓存过期时间为60秒
cache = TTLCache(maxsize=100, ttl=60)
# 定义一个路由,使用缓存
@app.get("/cached")
def cached_response():
# 检查缓存中是否有数据
if "cached_response" in cache:
return cache["cached_response"]
# 如果缓存中没有数据,则执行这段逻辑
response_data = {"message": "This is a cached response"}
# 将数据存入缓存
cache["cached_response"] = response_data
return response_data
在上面的示例代码中,我们首先导入TTLCache
类,然后创建了一个TTLCache
实例作为缓存。在路由处理函数中,我们首先检查缓存中是否存在所需的数据,如果存在则直接返回缓存中的数据,否则执行相应的逻辑并将数据存入缓存中。