后端与工程
阅读 0
评论 0
点赞 0
后端系统设计
核心四板斧:限流 → 缓存扣减 → 异步落库 → 最终一致。 1. 前端/网关限流:按钮置灰防重复、Nginx/网关限流、答题验证码削峰。 2. 库存预热到 Redis:下单先在 Redis 用原子操作扣减,扛住高并发,DB 不直接顶流量。
后端与工程
核心四板斧:限流 → 缓存扣减 → 异步落库 → 最终一致。 1. 前端/网关限流:按钮置灰防重复、Nginx/网关限流、答题验证码削峰。 2. 库存预热到 Redis:下单先在 Redis 用原子操作扣减,扛住高并发,DB 不直接顶流量。
后端与工程
基于 Starlette(异步 Web 框架)+ Pydantic(数据验证序列化)。特点:高性能(与 NodeJS/Go 相当)、支持 ASGI(异步)、依赖注入(Depends)、自动生成 API 文档。
后端与工程
B 树:键值分布整棵树(索引值+data 在每节点),搜索可能在非叶子结束(最好 O(1))。B+ 树:数据全在叶子节点,内部节点不存 data,叶子链指针相连。区别:① B+ 查询复杂度固定 O(log n) ② B+ 叶节点相连支持范围
后端与工程
不可变(3):Number、String、Tuple;可变(3):List、Dictionary、Set。 List 有序可变支持索引切片 [a,b,c];Tuple 有序不可变 (a,b,c);Set 无序不重复支持交并差 {1,2,3}