RedisTemplate实现简易分布式定时任务锁

使用RedisTemplate实现简易分布式定时任务锁,即多节点只有一个节点执行定时任务

1
2
3
4
5
6
7
8
9
Boolean locked = redisTemplate.opsForValue()
        .setIfAbsent(LOCK_KEY,"LOCKED",LOCK_EXPIRE_TIME,TimeUnit.MINUTES);
if(Boolean.TRUE.equals(locked)){
    logger.info("获取到锁,开始执行定时任务");
    //定时任务代码
}
else {
    logger.info("其他节点正在执行定时任务,本节点跳过执行");
}
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计