当前位置: 首页 > 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.lryc.cn/news/601045.html

相关文章:

  • Day04–链表–24. 两两交换链表中的节点,19. 删除链表的倒数第 N 个结点,面试题 02.07. 链表相交,142. 环形链表 II
  • TCP如何解决网络切换问题
  • Java模块化编程深度指南:从过程式到面向对象的进化之路
  • JavaSE:初识数组
  • 小架构step系列26:Spring提供的validator
  • 详细介绍MySQL的索引类型
  • Maven之依赖管理
  • 基于tk界面库的扩展类
  • 网络:基础概念
  • nacos启动报错:Unable to start embedded Tomcat。
  • 基于POD和DMD的压气机叶片瞬态流场分析与神经网络预测
  • iview: 对输入框进行Poptip 换行提示
  • 【Redis】 Redis 基础命令和原理
  • 从治理到共情——平台伦理的乡村共建之路
  • 数据空间技术在智慧水库管理平台中的赋能
  • 每日面试题15:如何解决堆溢出?
  • 2.JVM跨平台原理(字节码机制)
  • 嵌入式硬件篇---zigbee无线串口通信问题解决方法
  • 【6G新技术探索】AG-UI(Agent User Interaction Protocol) 协议介绍
  • 大语言模型 LLM 通过 Excel 知识库 增强日志分析,根因分析能力的技术方案(1):总体介绍
  • 设计模式十一:享元模式(Flyweight Pattern)
  • 融合为体,AI为用:数据库在智能时代的破局之道
  • 快速入门Linux操作系统(一)
  • 测试分类
  • AWD的攻击和防御手段
  • base64魔改算法 | jsvmp日志分析并还原
  • HCLP--MGER综合实验
  • JVM常见工具
  • AI 编程还有多远?我们如何迎接 AI 编程时代?
  • 【MySQL数据库备份与恢复2】备份的三种常用方法