科南每日一记

Redis分布式锁去获取唯一Token【二版】

Redisson private String getAccessToken() { RLock lock = redissonClient.getLock(RedisConstant.getLockKey(RedisConstant.SCWJWXX_TOKEN_KEY)); b

Conan 发布于 2024-05-24

Redis使用LUA脚本原子操作指定时间内不能超过指定次数

指定Key,判断在指定时间内的,次数【比如可以做,1分钟,只能请求10次这种需求】 public boolean rateLimit(String redisKey, int limit, int expireTime) { DefaultRedisScript<Boolean> red

Conan 发布于 2024-05-10

Redis分布式锁去获取唯一Token

使用Redis的seltIfAbsent【线程安全的原子操作,不可分割,整体执行】 获取Token时,判断需要获取新Token【此处:token为空或token的有效期小于10s】,即需要刷新Token: 先获取一个刷新Token的锁 获取成功:

Conan 发布于 2023-12-29