Fastapi链接Redis

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()

 

posted @ 2024-12-09 16:54  Wchime  阅读(101)  评论(0)    收藏  举报