高薪Offer收割机之Redis分布式锁

    锁在应用开发中使用非常广泛,哪些场景需要使用锁呢?

我们先来看抢购优惠卷的场景,代码如下:


public void rushToPurchase() throws InterruptedException {
//获取优惠券数量
Integer num = (Integer) redisTemplate.opsForValue().get(“num”);
//判断是否抢完
if (null == num || num
            throw new RuntimeException(“优惠券已抢完");
       }
//优惠券数量减一,说明抢到了优惠券
num = num - 1;
//重新设置优惠券的数量
redisTemplate.opsForValue().set("num", num);
}


流程图如下:

高薪Offer收割机之Redis分布式锁_第1张图片

你可能感兴趣的:(高薪Offer收割机,java,redis,缓存)