FastAPI 學習之路(五十五)操作Redis


之前我們分享了操作關系型數據庫,具體文章,

    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。

文章首發在公眾號,歡迎關注。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM