You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
771 B
34 lines
771 B
from fastapi import Request
|
|
from redis.asyncio import Redis
|
|
|
|
async def get_redis_client(request: Request) -> Redis:
|
|
"""
|
|
获取Redis客户端实例的依赖注入函数
|
|
|
|
Args:
|
|
request: FastAPI请求对象
|
|
|
|
Returns:
|
|
Redis: Redis客户端实例
|
|
"""
|
|
return request.app.state.redis_client
|
|
|
|
class RedisDependency:
|
|
"""
|
|
Redis依赖注入类
|
|
"""
|
|
|
|
async def __call__(self, request: Request) -> Redis:
|
|
"""
|
|
获取Redis客户端实例
|
|
|
|
Args:
|
|
request: FastAPI请求对象
|
|
|
|
Returns:
|
|
Redis: Redis客户端实例
|
|
"""
|
|
return request.app.state.redis_client
|
|
|
|
# 创建Redis依赖注入实例
|
|
redis_dependency = RedisDependency() |