def register_redis(app: FastAPI) -> None:
"""
把redis挂载到app对象上面
:param app:
:return:
"""
@app.on_event('startup')
async def startup_event():
"""
获取链接
:return:
"""
async def redis_pool():
redis = await from_url(
url=settings.REDIS_URL, port=settings.REDIS_PORT, password=settings.REDIS_PASSWORD, db=settings.REDIS_DB, encoding="utf-8", decode_responses=True
)
return redis
app.state.redis = await redis_pool()
@app.on_event('shutdown')
async def shutdown_event():
"""
关闭
:return:
"""
await app.state.redis.close()