负载均衡 '全局锁' 和 '频繁提交' 的问题

转载请注明出处 http://www.paraller.com 原文排版地址 redisString;

/* * 方法是否可以调用 * * @author zhidaliao * @param key * @return remove false代表第一次加锁 true代表释放锁 / public boolean atomProcessor(String key, boolean remove) {

if (!remove) {
    boolean flag = true;
    try {

        flag = redisString.setIfAbsent(key, "true");
        redisString.getOperations().expire(key, 90, TimeUnit.SECONDS);   //要确保你的程序有事务支持,或者中间状态

    } catch (Exception e) {
        e.printStackTrace();
        logger.error(e.getMessage());
        flag = false;
    }

    if (!flag) {
        logger.debug("atomProcessor false key:"   key);
    }

    return flag;
} else {
    redisString.getOperations().delete(key);
    return true;
}

} ```

全局锁

全局锁是为了让 synchronized 能够分布式化。 和内存锁这样的设计不同的是,全局锁需要阻塞(可以使用同步工具类实现阻塞),等待锁释放

思考一:

redis锁 while循环

``` T1 -

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值