Redis 批量写入优化:从逐条 SET 到 pipeline 的 10 倍提升
一次网络往返 0.x 毫秒,累积起来就是瓶颈。本文对比逐条命令、pipeline、Lua 脚本三种批量写入方式的吞吐差异,讨论 pipeline 并不是事务、以及批量大小如何取舍。
阅读全文 »后端开发 · Linux 运维 · 网络协议 · 数据库 · 容器与自动化,偶尔写点折腾笔记。
一次网络往返 0.x 毫秒,累积起来就是瓶颈。本文对比逐条命令、pipeline、Lua 脚本三种批量写入方式的吞吐差异,讨论 pipeline 并不是事务、以及批量大小如何取舍。
阅读全文 »列表页接口偶发几秒,慢查询日志里一条 LIKE '%xx%' 全表扫描。本文记录用 EXPLAIN 看 type=ALL、rows 扫描行数,最后改写成可走索引的前缀/全文方案,并补了 (status, created_at) 联合索引。
没有绝对优劣,只有场景匹配。需要复杂查询/JSONB/地理信息偏向 PG;生态成熟、运维资料多、团队熟悉偏向 MySQL。小团队更该选「自己最熟、出问题能搜到答案」的那个。
当缓存用就配 allkeys-lru,内存满了自动淘汰最久没用的 key;当存储用就别轻易淘汰,用 noeviction 让写入报错暴露问题。配错策略会出现「热点 key 莫名其妙消失」。