背景 最近有一个减库存的场景,存在并发安全问题,因为redisson客户端对分布式锁的支持比较成熟,所以使用了redisson的分布式锁来保证并发安全问题,避免超卖。代码如下: @Transactional public void allot(Param param) { RLock lock = redissonClient.getLock(key); try { lock.lock(); query(param); // 查询库存是否满足条件