logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

FastAPI实战:Redis缓存与分布式锁的深度解析

本文深入探讨了在FastAPI项目中集成Redis以解决高并发性能瓶颈和分布式资源竞争问题。内容涵盖Redis的快速安装部署、与FastAPI框架的优雅集成方式、使用缓存提升接口性能10倍以上的实战代码,以及利用Redis分布式锁防止超卖等并发场景的完整解决方案。文章提供了可直接复用的代码片段和关键注意事项,帮助开发者快速落地实践

文章图片
#缓存#fastapi#redis +1
FastAPI状态共享秘籍:别再让中间件、依赖和路由“各自为政”了!

深入浅出讲解FastAPI中Request.state的用法,通过一个用户画像的实战案例,带你彻底搞懂如何在中间件、依赖项和路由处理程序之间优雅地共享数据。告别全局变量,拥抱更安全、更清晰的数据传递方式。

文章图片
#fastapi#中间件
FastAPI单元测试实战:别等上线被喷才后悔,TestClient用对了真香!

本文用实战经验分享FastAPI单元测试的创建与使用,重点讲解TestClient的安装、常用方法、注意事项,以及作者亲历的坑和解决方案。让测试不再是麻烦,而是保护你代码的盔甲。

文章图片
#fastapi#单元测试#pytest
不止于JWT:用FastAPI的Depends实现细粒度权限控制

很多FastAPI开发者误以为JWT认证就是权限控制的终点,结果上线后频发越权操作。本文通过一个真实的“多租户Todo”案例,手把手教你用FastAPI的Depends搭建细粒度权限系统。从封装可配置的权限依赖、实现RBAC角色控制,到数据级权限(ABAC)的进阶玩法,最后分享我的踩坑经验。读完你就能直接动手改造项目,让权限逻辑真正“带脑子”。

文章图片
#fastapi#python
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议

接口上线就崩?压力测试到底怎么做?本文用朋友聊天的方式,分享FastAPI压测的常用工具、实战步骤,以及应对高并发的优化“三板斧”。包含可直接复用的locust脚本和gunicorn配置,帮你避开我踩过的坑。

文章图片
#fastapi#压力测试#python
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案

本文从实际踩坑案例出发,拆解分布式系统中服务调用超时、数据一致性、分布式锁三大高频问题。用生活化的比喻讲透原理,并给出可直接粘贴的FastAPI代码片段。帮你从“能跑”进化到“稳如狗”。

文章图片
#fastapi#python#redis
数据库实战:FastAPI + SQLAlchemy 2.0 + Alembic 从零搭建,踩坑实录

本文以实战为导向,从零开始搭建 FastAPI + SQLAlchemy 2.0 + Alembic 的数据库层。通过生活化比喻和踩坑案例,讲透异步引擎配置、模型定义新写法、迁移脚本生成与审核等核心环节,帮你建立一套可靠、可维护的数据库操作实践。适合所有被数据库折腾过的后端开发者。

文章图片
#数据库#fastapi#python
Django入门指南:Python Web开发的“瑞士军刀”

本文为Python Web开发新手清晰梳理了Django框架的定位。通过将Django与FastAPI、Flask进行形象对比,阐明其“开箱即用”的全能特性、相对不足以及适用场景。文章包含从安装到创建第一个项目的完整实操步骤与代码,助你快速上手,并为框架选择提供决策参考。

文章图片
#python#django#fastapi +1
FastAPI登录验证:用OAuth2与JWT构筑你的API安全防线

本文深入解析了在FastAPI中如何将OAuth2授权框架与JWT令牌格式组合使用,以实现安全的用户登录与API请求验证。文章通过清晰的比喻区分了OAuth2与JWT的角色,详细阐述了密码授权模式的完整流程,并提供了从配置、工具函数到受保护路由的完整可运行代码示例。最后,指出了生产环境中的关键安全注意事项和可能的进阶方向,为开发者构建稳健的API认证系统提供了实用指南。

文章图片
#fastapi#安全#python
FastAPI不止于API:手把手教你用Jinja2打造动态Web页面

本文系统介绍了如何在FastAPI框架中集成Jinja2模板引擎来构建动态Web页面。内容涵盖从安装配置、模板上下文数据传递(包括请求级和全局两种方式)、静态文件正确引入,到完整实战演示与常见避坑指南。帮助开发者快速掌握利用FastAPI服务端渲染页面的技能,适用于快速原型、管理后台等场景。

文章图片
#fastapi#python#css
    共 44 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择