G 技术分享
我给本地缓存加了 TTL 和 LRU,踩了三个并发坑
从一个风控服务的真实场景出发,手写一个带过期时间和 LRU 淘汰的进程内缓存工具类。讲清链表与 Map 的并发删除竞态、时间源选择、清理线程的两个陷阱,以及缓存击穿的处理方式。
2026-11-02
#Java#本地缓存
0
Blog
格达软件工程师的实战经验、技术选型与行业观察
从一个风控服务的真实场景出发,手写一个带过期时间和 LRU 淘汰的进程内缓存工具类。讲清链表与 Map 的并发删除竞态、时间源选择、清理线程的两个陷阱,以及缓存击穿的处理方式。
自增 ID 直接 Base62 会被顺序遍历,哈希取位又会碰撞。本文给出号段发号 + Feistel 置换生成 6 位不可枚举短码的完整 Go 实现,并讲清 301 缓存、缓存穿透、LAST_INSERT_ID 连接级坑和建表时的 DDL 报错。
企业管理软件的成败往往不在技术栈,而在角色场景、多端协同、数据模型与运维。结合格达软件在 APP、小程序、PC 软件与服务器维护中的项目经验,本文给出可直接落地的设计要点与权限模型示例。