我给本地缓存加了 TTL 和 LRU,踩了三个并发坑
从一个风控服务的真实场景出发,手写一个带过期时间和 LRU 淘汰的进程内缓存工具类。讲清链表与 Map 的并发删除竞态、时间源选择、清理线程的两个陷阱,以及缓存击穿的处理方式。
Our Services
覆盖软件全生命周期的一站式技术服务,让您的想法快速变成可用的产品
覆盖 iOS / Android 的原生与跨平台开发(Flutter、React Native、uni-app),从产品原型、UI 设计到应用商店上架全流程交付。
桌面客户端、企业管理与业务系统定制开发,支持 Windows / macOS,可与企业现有 ERP、OA 等系统深度集成。
微信 / 支付宝小程序与 H5 开发,一套代码多端运行,覆盖点餐、商城、预约、管理等多类业务场景。
为您的技术决策保驾护航:技术选型、架构设计、外包项目评估、团队技术培训,让每一分钱都花在刀刃上。
云服务器 / 物理机的部署、监控、安全加固与 7×24 小时运维保障,让您的系统稳定、安全、不宕机。
Portfolio
部分代表性项目,见证我们的交付能力
面向 K12 与职业教育的在线学习平台,支持直播、录播、题库练习、督学打卡,双端覆盖 iOS / Android。
面向中型制造企业的仓储管理桌面系统,出入库、盘点、预警、报表一体化,支持 PDA 扫码协同。
连锁餐饮品牌专属点餐小程序,扫码点餐、会员储值、优惠营销、门店管理一应俱全。
Why Us
不止是写代码,更是值得长期信赖的技术伙伴
从需求分析、UI 设计、开发测试到上线运维,一个团队负责到底,省去多方协调的麻烦。
小步快跑、周周可见,每个里程碑都有可演示的版本,避免「憋大招」式失控。
核心成员平均 8 年+ 开发经验,服务过教育、零售、制造、医疗等行业的头部客户。
免费质保、文档齐全、源码交付,并提供长期维护与迭代升级服务,合作一次、服务长久。
技术栈 · Tech Stack
Blog
来自格达软件工程师的实战经验与行业观察
从一个风控服务的真实场景出发,手写一个带过期时间和 LRU 淘汰的进程内缓存工具类。讲清链表与 Map 的并发删除竞态、时间源选择、清理线程的两个陷阱,以及缓存击穿的处理方式。
200 万条搜索词的前缀匹配,用 HashMap 做 Trie 吃掉 2.2 GB 内存。本文拆解这 2.2 GB 的具体构成,对比 26 叉数组、Radix Tree、双数组 Trie 和排序数组二分的真实开销,并记录空串、surrogate pair、热更新等边界上的踩坑。
把聚合 200 笔下游状态的页面从串行 40 秒改到 0.9 秒:讲清协程与事件循环的调度机制,以及三个不报错、只变慢的坑——协程里混入阻塞调用、并发不设上限、任务引用丢失与取消被吞。