在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
實例作為緩存。在路由處理函數中,我們首先檢查緩存中是否存在所需的數據,如果存在則直接返回緩存中的數據,否則執行相應的邏輯并將數據存入緩存中。