用到Redis。
最初的逻辑:代码里判定只要token失效就会取toekn更新到Redis中。
问题:显而易见,分布式并行后,可能同时有两台或以上同时更新,导致其他设备取回的token失效,然后循环往复,将API次数耗尽。
经浩哥指点优化后的逻辑:
抽离token更新逻辑到定时脚本。脚本启动后,使用Redis的setNx作为分布锁,确保只有一台设备进入token校验更新逻辑。当逻辑走完后,移除锁标识。
核心思路:大家都抢,冲突,那么就用加锁的方式杜绝并行的发生。
如您从本文得到了有价值的信息或帮助,请考虑扫描文末的二维码对我进行赞赏和鼓励。
如本文对您有用,您的捐赠和留言将是我最好的支持~
如您愿意,请向更多志同道合的朋友们推荐本站,谢谢。
请尊重他人劳动成果。
转载请务必附上原文链接,我将感激不尽。
有什么问题可以 留言或QQ联系我
留言