登录后复制 public void executeTask() { String lockKey = "task_lock_key"; String lockValue = UUID.randomUUID().toString(); long lockTimeout = 60; // 锁超时时间60秒 // 尝试获取分布式锁 if (redisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, lockTimeout, TimeUnit.SECONDS)) { try { // 执行任务逻辑 doTask(); } finally { // 释放锁,确保即使任务执行异常也能释放锁 if (lockValue.equals(redisTemplate.opsForValue().get(lockKey))) { redisTemplate.delete(lockKey); } } } else { // 其他实例已获取锁,本次任务不执行或等待下次调度 } } private void doTask() { // 实际的任务执行代码 } 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24. 原创作者: u_16271212 转载于: https://blog.51cto.com/u_16271212/11804457