原来大厂Redis分布式锁都这么设计的!

复制// 占分布式锁,分布去redis占坑 Boolean lock = redisTemplate.opsForValue().setIfAbsent("lock",式锁 "111"); if(lock) { //加锁成功... 执行业务 Map<String, List<Catelog2Vo>> dataFromDb = getDataFromDb(); redisTemplate . delete( key: "lock");//fHßti return dataF romDb ; } else { // 加锁失败,云服务器重试。网站模板都设分布synchronized() // 休眠100ms重试 // 自旋 return getCatalogJsonFromDbwithRedisLock(); } 1.2.3.4.5.6.7.8.9.10.11.12.13.亿华云计算