FastAPI + SQLAlchemy2.0 异步数据库
FastAPI 集成 SQLAlchemy2.0 异步数据库主流 Python ORM 对比Python 生态有很多 ORM 库SQLAlchemy、Peewee、Pony ORM、Tortoise‑ORM。SQLAlchemy生态最成熟支持异步社区活跃SQLModelFastAPI 作者开发底层封装 SQLAlchemy Core目前还不够成熟ORM 性能测试参考https://github.com/tortoise/orm‑benchmarks/tree/master/master一、安装异步 SQLAlchemypip install sqlalchemy[asyncio]2.0.31二、创建数据库连接1. 连接字符串格式mysqlasyncmy://用户名:密码主机:端口/数据库名?charsetutf8mb4示例DB_URI mysqlasyncmy://root:root127.0.0.1:3306/book_db?charsetutf8mb42. 创建异步 EngineEngine 负责管理连接池、SQL 翻译全局只实例化一个对象。from sqlalchemy.ext.asyncio import create_async_engine engine create_async_engine( mysqlasyncmy://root:root127.0.0.1:3306/sqlalchemy_learn?charsetutf8mb4, echoTrue, # 打印执行SQL日志生产环境关闭 pool_size10, # 连接池常驻连接数量默认5 max_overflow20, # 连接池最大允许额外创建连接数默认10 pool_timeout10, # 获取连接超时时间单位秒 pool_recycle3600, # 连接回收时间避免MySQL断开空闲连接 pool_pre_pingTrue # 获取连接前探测连接是否有效 )参数说明echoTrue开发调试打印全部 SQL线上务必关闭。pool_pre_pingTrue自动检测断开的数据库连接避免报连接失效错误。3. 创建异步会话工厂 Session使用sessionmaker生成会话工厂后续每次数据库操作都从工厂拿AsyncSession会话对象。from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.asyncio import AsyncSession AsyncSessionFactory sessionmaker( bindengine, class_AsyncSession, # 使用异步Session autoflushTrue, expire_on_commitFalse )expire_on_commitFalsecommit 之后对象属性不会过期FastAPI 开发常用配置。接下来就可以基于会话工厂去定义 ORM 模型实现数据库 CRUD。小结FastAPI 异步 MySQL驱动使用asyncmy安装sqlalchemy[asyncio]。create_async_engine创建全局唯一异步引擎配置连接池参数优化性能。sessionmaker指定class_AsyncSession得到异步会话工厂后续操作数据库都使用会话。

相关新闻

mentor PRO操作要点

mentor PRO操作要点

手动创建symbol_右键新建设置格点(0.1in)文本0.05引脚可以复制黏贴(改pin num和pin type)GND_1原点放在左下角Excel创建symbol需要.csv文件IC 新建symbol-右键import pin,引脚shift选中往里拖Padstack_edit---oblong(长宽)mm新建一…

2026/11/13 6:03:05 阅读更多 →
DeepSeek 涨价,我先算了笔账,决定不折腾

DeepSeek 涨价,我先算了笔账,决定不折腾

这两天后台群里最热闹的话题就是 DeepSeek 调价,好几个群友直接来问我:换了吗,换哪家?把两轮调价公告和几家的新价格表翻完、又对着自己的账单算了半天之后,我的结论可能跟很多人不一样:先别急着换&#xf…

2026/11/12 2:48:47 阅读更多 →
安装 Windows Docker Desktop - WSL问题

安装 Windows Docker Desktop - WSL问题

一、关联文章: 1、Docker Desktop 安装使用教程 2、家庭版 Windows 安装 Docker 没有 Hyper-V 问题 3、打开 Windows Docker Desktop 出现 Docker Engine Stopped 问题 二、问题解析 打开 Docker Desktop 出现问题,如下: Docker Desktop …

2026/11/11 13:14:14 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/13 5:13:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/13 5:13:25 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/13 5:13:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/12 18:22:26 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/12 18:22:25 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/13 5:13:25 阅读更多 →

日新闻

周新闻

月新闻