- 博客(18)
- 收藏
- 关注
原创 FastAPI缓存技术详解
缓存是一种存储临时数据的机制,旨在提高系统性能和响应速度。在FastAPI应用中,缓存可以显著减少数据库查询、API调用和计算密集型操作的次数,从而提升整体性能。频繁访问但不经常变化的数据计算密集型操作的结果第三方API调用的响应数据库查询的结果# 生成缓存键# 尝试从缓存获取# 执行函数# 存入缓存cache_key,self.ttl,"""生成缓存键"""# 处理位置参数# 处理关键字参数# 使用示例@cache# 模拟数据库查询。
2026-03-14 13:22:56
89
原创 SQLModel 详解
name: strname: stremail: strraise ValueError('邮箱必须包含 @ 符号')return v# 自定义字段name: str# 自定义模型基类name: stremail: str。
2026-03-14 13:21:49
78
原创 FastApi之Tortoise ORM使用
("name", "email"), # 复合索引"""自定义 JSON 字段,用于处理复杂的 JSON 数据""""""将 Python 值转换为数据库值""""""将数据库值转换为 Python 值"""
2026-03-13 00:13:19
243
原创 FastApi之SQLAlchemy使用(2)
"""用户模型"""# 关系"""帖子模型"""# 关系Alembic 是 SQLAlchemy 的数据库迁移工具,用于管理数据库模式的变更。SQLAlchemy 允许创建自定义类型,以满足特定的需求。
2026-03-13 00:12:07
402
原创 FastApi之SQLAlchemy使用(1)
SQLAlchemy 是一个强大的 Python ORM(对象关系映射)库,它提供了两种主要的使用方式:Core 和 ORM。preferences = Column(JSONType) # 存储 JSON 数据。
2026-03-12 00:25:31
421
原创 FastAPI 后台任务与定时任务详解
任务执行状态管理是指跟踪和管理任务的执行状态,包括 pending、running、success、failed 等状态。FastAPI的依赖注入系统可以与后台任务和定时任务深度集成,提供更灵活的依赖管理方式。任务持久化是指将任务信息存储到持久存储中,以便在应用重启后能够恢复未完成的任务。任务版本控制是指管理任务代码变更的机制,确保任务执行的一致性和可追溯性。任务执行统计数据可以通过可视化工具进行展示,便于监控和分析任务执行情况。:使用 Celery 处理大规模任务。
2026-03-12 00:24:38
695
原创 FastAPI 分页、过滤、排序、限流详细指南
分页是指将大量数据分割成多个小部分进行处理和展示的技术。本章节提供一个完整的FastAPI项目示例,展示如何实现分页、过滤、排序和限流功能。排序是根据指定字段对数据进行有序排列的过程。过滤是根据用户提供的条件筛选数据的过程。避免 SELECT **
2026-03-11 10:22:57
343
原创 FastAPI 认证与权限详解
Session 认证使用服务器端存储的会话。FastAPI 的安全机制基于 Starlette 的安全模块,通过依赖注入系统实现。JWT 令牌默认是无状态的,一旦颁发就无法直接撤销。ABAC 是一种基于属性的权限管理模型,根据用户、资源和环境的属性来决定权限。FastAPI 支持对安全依赖进行缓存,以提高性能。FastAPI 的安全模块基于 Starlette 的。FastAPI 的安全机制基于依赖注入系统,通过。是确定用户能做什么的过程,即用户拥有的权限。
2026-03-11 10:22:22
481
原创 FastAPI异常处理全面指南
在FastAPI中,我们可以通过继承Exception# 自定义异常类# 继承自HTTPException).dict()我们可以通过继承# 使用自定义HTTP异常。
2026-03-10 12:10:59
461
原创 FastAPI 中间件详解
中间件是位于客户端和服务器应用之间的一个处理层,用于拦截和处理HTTP请求和响应。预处理请求数据后处理响应数据实现跨请求的逻辑处理认证和授权记录日志和监控实现CORS、Rate Limiting等功能。
2026-03-10 12:10:15
568
原创 FastAPI路由深度解析
路由是Web应用中负责将HTTP请求映射到相应处理函数的机制。在FastAPI中,路由系统扮演着核心角色,它决定了如何处理来自客户端的请求。
2026-03-09 22:04:23
468
原创 FastAPI 表单参数详解
表单参数是一种通过 HTML 表单提交的数据,在 FastAPI 中使用Form类来处理。表单参数通常用于处理用户通过表单提交的数据,如登录表单、注册表单等。在 FastAPI 中,使用Form2.2 Formraise ValueError('两次输入的密码不一致')return vreturn {"message": "注册成功"}# 预处理表单数据# 处理表单数据# 将处理后的数据注入到请求中。
2026-03-08 00:34:15
374
原创 FastAPI 请求体参数深度解析
请求体参数是通过 HTTP 请求体(request body)传递给服务器的数据,通常用于发送复杂的数据结构,如 JSON 对象、表单数据等。与查询参数和路径参数不同,请求体参数可以包含大量数据,并且可以使用不同的编码格式。
2026-03-08 00:33:27
361
原创 FastAPI 查询参数深度解析
查询参数是 URL 中问号?后面的键值对,用于向服务器传递额外的信息。例如,在 URL中,skip和limit就是查询参数。name: strif v <= 0:raise ValueError('价格必须为正数')return v可以使用 FastAPI 的异常处理raise HTTPException(status_code=400, detail="价格不能为负数")
2026-03-07 22:52:20
395
原创 FastAPI路径参数详解
对于继承自BaseModel的类型,Pydantic会自动处理字段验证和转换对于实现了__init__方法的类型,Pydantic会调用该方法进行初始化对于实现了方法的类型,Pydantic会使用该方法进行验证和转换"""自定义物品ID类型"""id: int"""初始化方法,解析ID格式"""= 2:@app.get("""使用自定义类型获取物品""""""验证物品ID是否为正数"""@app.get(
2026-03-07 22:27:39
349
原创 Python详解双指针技巧
技巧适用场景时间复杂度快慢指针链表问题O(n)左右指针数组问题O(n)滑动窗口子数组/子串问题O(n)对撞指针有序数组O(n)分离指针双数组问题O(n)
2026-03-06 23:37:07
339
原创 FastApi之Pydantic V2使用
Pydantic 是一个基于 Python 类型提示的开源数据验证库,专注于提供简单而强大的数据验证和设置管理功能。类型安全:利用 Python 的类型提示系统,提供编译时类型检查自动数据验证:自动验证输入数据的类型和约束数据转换:自动将输入数据转换为指定的类型错误处理:提供详细的错误信息,便于调试序列化:支持模型与 JSON 等格式的相互转换id: intname: stremail: str = Field(..., description="用户邮箱")
2026-03-05 00:08:28
530
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅