缓存 Revalidation 正确性:Generation Fence、Singleflight 与陈旧写拒绝
Singleflight 能合并同时回源,却阻止不了旧重建者在失效后覆盖新值。本文用目标代际、重建租约、条件发布和有界 stale 策略封闭缓存击穿与迟到写窗口。
Articles
沉淀 AI、Web、云原生和独立开发经验。
Singleflight 能合并同时回源,却阻止不了旧重建者在失效后覆盖新值。本文用目标代际、重建租约、条件发布和有界 stale 策略封闭缓存击穿与迟到写窗口。
有些数据天然是半结构化的(配置/事件/嵌套),纯关系表别扭,MongoDB 又多一个组件。PostgreSQL 的 JSONB 让你在一个库里同时有关系和文档。本文讲清 JSONB 的存取、查询(->>/->/@>/索引)、GIN 加速、以及什么时候该用 JSONB vs 拆关系表。
新代码搜索引擎的 Demo 更“聪明”,不代表它能替代现有 grep、LSP 或符号索引。本文冻结查询任务、代码快照和相关性判断,用双索引影子流量验证召回、新鲜度、权限与可回退切换。
Claude Code 的强大不在于"会聊天",在于它能被你定制成专属工具。本文讲清两套扩展机制——Skill(把领域知识+流程打包成可复用能力)和 Hook(事件驱动的自动化),并用实战演示怎么把"发布文章前自动跑 SEO 检查"这类团队流程固化进 Claude Code。
Agent 生成 diff 不等于完成工程任务。本文建立静态检查、针对性测试、回归范围、迁移审阅和人工确认的验证门,让每个补丁有可追溯的合并证据。
聊天、协作、推送、实时仪表盘——HTTP 做不好"服务端主动推"。本文讲清 WebSocket 的原理、何时该用它(vs SSE vs 轮询)、连接管理(重连/心跳/鉴权)、广播与房间、扩展(多实例下用 Redis pub/sub),以及常见的实时架构选型。
终端里出现一行命令不等于它真的按批准方式执行。本文定义命令 argv、cwd、可执行文件、策略判定、退出状态与输出摘要的不可变回执,同时避免秘密随日志扩散。
Redis 不只是缓存——它在分布式系统里扮演多种角色:分布式锁、限流、消息(pub/sub + Stream)、排行榜、会话存储。本文讲清 Redis 如何支撑这些分布式场景,以及每个场景的可靠性要点(锁的释放、Stream 的消费组、限流的准确性)。
上下文窗口变大并不意味着应把整个仓库交给模型。本文介绍任务级 token 预算、分层摘要、证据引用、缓存失效和压缩质量检查,让编程 Agent 在有限上下文中保持工程判断力。
微服务不是银弹,拆错比单体更痛苦。本文讲清微服务的核心模式:服务拆分边界、服务间通信(同步 vs 异步)、API 网关、服务发现、分布式事务、可观测,以及最关键的——什么时候该用微服务(大多数团队不该)。
一句报错和最终补丁不足以证明 Bug 已复现。本文定义内容寻址的调试证据包,冻结代码、未提交状态、依赖、输入与失败判据,让另一台隔离 runner 能先看到旧失败,再验证新修复。
认证授权是每个产品的基础,但 OAuth/OIDC/JWT/Session 的关系很多人没理清。本文讲清现代 Web 认证:Session vs JWT、OAuth 2.0 授权流程、OIDC(认证层)、SSO 实现、token 存储与安全,让你不再被这套概念绕晕。