会话

= 数据库连接

你可以把 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))

意思:

异步让数据库查书,查完再通知我,这段时间我不阻塞服务器。

 

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐