内容目录
背景
一个接口A会请求另外一个接口Btoken是否有效【因为2个服务器,token存放在 接口B redis里面】,为了减少接口A请求B的次数,我们希望在A实现一个简单的过期Map。
逻辑
- 用对应的语言的map
- 创建定时器随机抽取一些值做是否过期校验【确保线程问题,因为我们用Node 全部都在主线程,所以没有竞争,其他语言可以通过任务队列来保证线程竞争,建议不要加锁】
- 获取key校验是否过期,然后再验证是否有效
总结
上述思路借鉴redis过期逻辑,保证cpu消耗和内存占用,一种比较好的策略。同事开始希望用redis实现,我的意见是在保证完成工作前提前,采用新的技术,而不是用一个技术用到老,不然就变成搬砖了。