当前位置: 首页 > news >正文

FastAPI入门:安装、Pydantic、并发和并行

本系列参考FastAPI官方文档:https://fastapi.tiangolo.com/zh/python-types/

安装

使用pip安装:

pip install fastapi

此外还需要 ASGI 服务器,生产环境可以使用 Uvicorn 或者 Hypercorn。
ASGI服务器:异步服务网关接口,处理网络协议(HTTP/WebSocket等),将请求转发给FastAPI应用。相当于Tomcat

pip install "uvicorn[standard]"

Pydantic

Pydantic 是 FastAPI 的核心依赖库,用于实现 结构化数据验证和数据转换,相当于 Java 中的 Bean Validation (JSR ) 的声明式验证机制,但功能更强大

并发、并行

概念核心思想
并发 (Concurrency)同时管理多个任务,但不一定同时执行(通过任务切换实现)
并行 (Parallelism)同时执行多个任务,需要多核/多CPU硬件支持

在需要大量等待的场景下,并发性能更好。因此在Web场景中需要使用异步编程(实现并发的一种手段)

异步编程

使用await关键字实现异步编程:

burgers = await get_burgers(2)

await关键字必须用于async def声明的协程函数中:

async def get_burgers(number: int):# Do some asynchronous stuff to create the burgersreturn burgers

协程函数调用时必须使用await关键字

@app.get('/burgers')
async def read_burgers():burgers = await get_burgers(2)return burgers
http://www.dtcms.com/a/300091.html

相关文章:

  • Python应用:三局两胜制石头剪刀布游戏
  • VS Code + LaTeX 绘制电气图完全指南(含 PlantUML 样式参考)
  • 典型的 Vue 3 项目目录结构详解
  • Android中ViewStub和View有什么区别?
  • 过油防溅:3 步搞定 油星乱蹦
  • 具身视觉语言导航算法学习笔记
  • C++20 协程
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-27,(知识点:信号完整性,信号反射,串扰,时延,抖动,衰减)
  • 物联网统一网关:多协议转换与数据处理架构设计
  • useCallback/useMemo
  • Item11:在operator=中处理自我赋值
  • [极客大挑战 2019]FinalSQL--布尔盲注
  • 【web应用】如何进行前后端调试Debug? + 前端JavaScript调试Debug?
  • 内置两大模型,Whisper视频语音转文字,支持批量处理,完全免费!
  • 车载诊断刷写 --- Flash关于擦除和写入大小
  • GStreamer中Element(元素)
  • sendfile系统调用及示例
  • Android 键盘
  • C# 位运算及应用
  • vulhub-earth靶机攻略
  • Day32| 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-31,(知识点:芯片容量,行地址,列地址,Bank地址,数据位宽,数据带宽)
  • SpringMVC——请求
  • 2025年全国青少年信息素养大赛Scratch算法创意实践挑战赛 小低组 初赛 真题
  • 深分页性能问题分析与优化实践
  • matplotlib库 点线图,直方图,多子图与三维空间的可视化
  • C++11语法
  • 计算机中的数据表示
  • C++ TAP(基于任务的异步编程模式)
  • 停止所有docker容器的命令