Redis 分布式锁:从 SETNX 到 Redlock 的完整指南
分布式锁是’看着简单、用起来全是坑’的典型。SETNX 的坑、锁过期竞态、可重入、Redlock 的争议,以及什么时候其实不需要分布式锁。
分布式锁是’看着简单、用起来全是坑’的典型。SETNX 的坑、锁过期竞态、可重入、Redlock 的争议,以及什么时候其实不需要分布式锁。
一条投递提醒可能要同时发短信、站内信、公众号模板消息,重复推送比漏推更让用户烦。用 Redis SETNX + Lua 原子防重,把「同一业务事件只推一次」变成硬约束。
小程序、公众号、支付、开放平台——微信生态的每一块都有自己的一套规则。自动授权、支付回调、退款、开放平台绑定:六年微信开发的踩坑全记录。
索引不是’建了就快’。B+树高度、最左前缀、回表、覆盖索引、索引下推,从原理到 EXPLAIN 实战,把慢 SQL 优化的完整套路讲清楚。
一条消息发到短信、公众号、App 推送三个渠道,如何保证’不重不漏’?渠道抽象、幂等键、去重策略、失败重试与补偿——多渠道消息防重系统的架构。
简历主表单表 2 亿行扛不住了,引入 MyCat 水平分片。分布式主键、跨分片 join、扩容、热点问题一个个踩过来,这篇文章是完整避坑清单。
订单号、消息 ID、防重幂等键——分布式系统绕不开 ID 生成。雪花算法原理、时钟回拨、机器位分配、与数据库/Redis 方案的对比。
Go 的 GC 为什么延迟低?三色标记算法、插入写屏障、混合写屏障、GC 调优参数,把 Go 内存回收的底层机制一次讲透。
一套代码多端跑?Taro(小程序+H5)、Flutter(App+H5)怎么选:技术栈匹配、性能、生态、维护成本——跨平台方案的选型实战。
历史行为日志每天几千万条,报表 SQL 越跑越慢,直到 3 秒都出不来。Rollup 预聚合 + 每日滚动索引,把冷数据降采样成分钟级聚合桶,报表查询从 3~5 秒压到 200ms 以内,存储成本降了七成。