2025-10-02 postgresql 基础入门 , PL/pgSQL , 存储过程 , 数据库编程 , 动态SQL , 事务管理 , 错误处理 13 分钟阅读PostgreSQL里的PL/pgSQL到底是啥?能让SQL从“说目标”变“讲步骤”?PL/pgSQL 是 PostgreSQL 的过程化 SQL 语言,结合了 SQL 的声明式语法和过程式控制结构,用于编写复杂的数据库逻辑。其基本结构包括函数和过程,支持变量声明、参数传递、动态 SQL、条件判断、循环以及错误处理。通过 PL/pgSQL,用户可以实现计算、批量操作、事务控制等功能。函数通过 SELECT 调用,过程通过 CALL 调用,且过 …阅读更多 cmdragon
2025-05-07 fastapi 分布式事务 , SAGA模式 , 微服务架构 , 补偿机制 , Python实现 , 事务管理 , 数据库操作 7 分钟阅读点赞背后的技术大冒险:分布式事务与SAGA模式在微服务架构中,点赞操作涉及多个服务的数据更新,传统数据库事务在分布式系统中失效,需采用SAGA事务模式。SAGA将事务分解为多个本地事务,通过补偿机制保证最终一致性。每个操作需定义对应的补偿操作,补偿操作需幂等,并记录事务状态和实现超时机制。代码实现包括基础模型定义、事务上下文管理器和核心业务逻辑,测试验证正常和异常流程。生产环境中建议添加事务日志、实现定 …阅读更多 cmdragon
2025-05-04 fastapi DDD分层架构 , 异步编程 , fastapi , 领域驱动设计 , Tortoise-ORM , 事务管理 , 代码示例 7 分钟阅读DDD分层设计与异步职责划分:让你的代码不再“异步”混乱DDD分层架构将系统分为用户接口层、应用层、领域层和基础设施层,各层职责明确。领域层处理同步业务逻辑,基础设施层负责异步数据库操作,应用层协调两者。评论模块使用pydantic定义领域模型,保持业务逻辑完整性。Tortoise-ORM实现基础设施层的异步仓储操作。应用层整合领域逻辑与基础设施的异步调用,确保事务管理策略通过原子操作实现。分层调用规则强调领域对 …阅读更多 cmdragon
2025-04-29 fastapi 异步IO , Tortoise-ORM , 数据库操作 , fastapi , 异步编程 , 连接池 , 事务管理 7 分钟阅读异步IO与Tortoise-ORM的数据库异步IO与同步IO的核心区别在于阻塞与非阻塞模式。Tortoise-ORM通过协议层、连接池层和ORM层实现异步数据库操作,支持高效的并发处理。用户管理系统搭建中,Tortoise-ORM与FastAPI结合,实现了用户创建和查询功能,并通过Pydantic进行数据校验。异步ORM适用于高并发场景,参数化查询可防止SQL注入。最佳实践包括连接池配置、查询优化 …阅读更多 cmdragon
2025-04-27 fastapi 分布式事务 , 微服务架构 , Tortoise-ORM , 点赞功能 , Saga模式 , 事务管理 , 数据一致性 7 分钟阅读分布式事务在点赞功能中的实现分布式事务在点赞功能中面临原子性、数据一致性和失败补偿的挑战。Tortoise-ORM提供基础事务和装饰器事务两种管理方式,确保数据一致性。点赞功能实现需防重复点赞和事务处理,采用唯一约束防止重复。跨服务事务处理使用Saga模式,按反向顺序执行补偿操作确保最终一致性。常见报错包括事务超时、唯一约束冲突和请求参数校验失败,需优化事务操作、使用upsert和详细 …阅读更多 cmdragon
2025-04-18 fastapi fastapi , SQLAlchemy , 数据库集成 , 事务管理 , Pydantic , 错误处理 , 并发控制 7 分钟阅读FastAPI数据库集成与事务管理FastAPI与SQLAlchemy集成指南:首先配置SQLite数据库连接,创建会话工厂和声明性基类。定义用户模型并映射表结构,使用Pydantic进行数据验证。通过依赖项获取数据库会话,实现用户创建和转账功能。事务控制通过显式开始事务和错误处理确保数据一致性。常见问题包括422验证错误、500服务器错误和完整性错误,需检查请求体、数据库连接和约束。课后 …阅读更多 cmdragon