FastAPI-异步数据库会话
·
会话
= 数据库连接
你可以把 Session(会话) 理解成:你和数据库之间的一次 “通话通道”。
- 你要查数据 → 走这个通道
- 你要写数据 → 走这个通道
- 用完关闭 → 通道关掉
会话 = 一次连接 + 一系列操作
异步
= 不傻等
普通(同步)会话:
你问数据库 → 等着 → 数据库回答 → 你再干别的
期间你啥也干不了,卡住。
异步会话:
你问数据库 → 不等 → 先去干别的
数据库好了 → 通知你 → 你再回来处理
await 就是:等,但不阻塞。
异步数据库会话
= 异步版的 “通话通道”
全名:AsyncSession
它的特点:
- 不阻塞服务器
- 适合高并发(FastAPI 最喜欢)
- 所有操作前面必须加
await - 只能在
async def函数里用
例子

async def get_book_list(db: AsyncSession = Depends(get_async_session)):
这里的 db: AsyncSession 就是:
给我一个异步数据库连接通道,我要用它异步查库,不卡住整个接口。
result = await db.execute(select(Book))
意思:
我异步让数据库查书,查完再通知我,这段时间我不阻塞服务器。
更多推荐
所有评论(0)