Redis实战篇02

作者 : admin 本文共420个字,预计阅读时间需要2分钟 发布时间: 2024-06-10 共2人阅读

1.分布式锁Redisson

简单介绍:

使用setnx可能会出现的极端问题:

Redis实战篇02插图

Redisson的简介:

Redis实战篇02插图(1) 

简单的使用:

Redis实战篇02插图(2) Redis实战篇02插图(3)  业务代码的改造:

private void handleVoucherOrder(VoucherOrder voucherOrder) {
        Long userId = voucherOrder.getUserId();
        //创建锁对象(兜底)
        RLock lock = redissonClient.getLock("lock:order:" + userId);
        //获取锁
        boolean isLock = lock.tryLock();
        //判断是否获取锁成功
        if (!isLock) {
            //获取失败,返回错误或者重试
            throw new RuntimeException("发送未知错误");
        }
        try {
            voucherOrderService.createVoucherOrder(voucherOrder);
        } finally {
            //释放锁
            lock.unlock();
        }

    }

本站无任何商业行为
个人在线分享 » Redis实战篇02
E-->