之前我們分享了操作關系型資料庫,具體文章,
FastAPI 學習之路(三十二)創建資料庫
FastAPI 學習之路(三十三)操作資料庫
FastAPI 學習之路(三十四)資料庫多表操作
這次我們分享的是非關系型資料庫--Redis,
首先,我們安裝對應的依賴
pip intsall aioredis==1.3.1
接下來,我們去匯入創建對應的連接,
from aioredis import create_redis_pool, Redis from fastapi import FastAPI app = FastAPI() async def get_redis_pool() -> Redis: redis = await create_redis_pool(f"redis://:@127.0.0.1:6379/0?encoding=utf-8") return redis @app.on_event("startup") async def startup_event(): app.state.redis = await get_redis_pool() @app.on_event("shutdown") async def shutdown_event(): app.state.redis.close() await app.state.redis.wait_closed()
這里我們也利用了上次分享的事件,FastAPI 學習之路(五十三)startup 和 shutdown,接下來,我們去創建一個api去操作對應的一個api,進行除錯,
@app.get("/test", summary="測驗redis") async def test_redis(request: Request, num: int=Query(123, title="引數num")): # 等待redis寫入 await異步變同步 # 如果不關心結果可以不用await,但是這里下一步要取值, # 必須得先等存完值 后再取值 await request.app.state.redis.set("test", num) # 等待 redis讀取 v = await request.app.state.redis.get("test") print(v, type(v)) return {"msg": v}
我們可以用postman請求下,

我們看下,redis是否存盤

我們可以看到redis存盤了我們的資料,我們的介面也正常回傳了,這只是一個簡單的demo,后續我們可以存盤快取,也可以來存盤我們的token,
文章首發在公眾號,歡迎關注,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/337535.html
標籤:其他
上一篇:如何接入 K8s 持久化存盤?K8s CSI 實作機制淺析
下一篇:Pod持久化
