04 2018 档案
摘要:解锁部分,我们将Lua代码传到jedis.eval()方法里,并使参数KEYS[1]赋值为lockKey,ARGV[1]赋值为requestId。eval()方法是将Lua代码交给Redis服务端执行。 那么这段Lua代码的功能是什么呢?其实很简单,首先获取锁对应的value值,检查是否与reque
阅读全文
摘要:setnx的含义就是SET if Not Exists,其主要有两个参数 setnx(key, value)。 该方法是原子的,如果key不存在,则设置当前key成功,返回1;如果当前key已经存在,则设置当前key失败,返回0。 火车票余量 可以在redis中获取, 有问题欢迎留言 探讨!
阅读全文
摘要:分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如
阅读全文
摘要:1.分布式锁 分布式锁一般用在分布式系统或者多个应用中,用来控制同一任务是否执行或者任务的执行顺序。在项目中,部署了多个tomcat应用,在执行定时任务时就会遇到同一任务可能执行多次的情况,我们可以借助分布式锁,保证在同一时间只有一个tomcat应用执行了定时任务。 2.分布式锁的实现方式 1.使用
阅读全文
摘要:废话不多说,直接就开撸import org.springframework.util.StopWatch;import java.util.concurrent.*;/** * 基于线程池实现的多线程卖票demo * joey li * 2018-4-12 * qq: 1914295136 */public class TicketRunnable implements Runna...
阅读全文
摘要:2018阿里云全部产品优惠券(好东东,强烈推荐)领取地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=gh9qh5ki&utm_source=gh9qh5ki 一 小小推广 讲座 本话题已收入视
阅读全文
摘要:@Aspect@Component@Slf4jpublic class WebLogAspect { @Pointcut("execution(public * com.we.controller.*.*(..))") public void webLog(){ } @Before("webLog(
阅读全文
摘要:@Slf4j@ControllerAdvicepublic class RestExceptionHandler extends ResponseEntityExceptionHandler { @ExceptionHandler({InvalidRequestException.class}) p
阅读全文
摘要:Window版本 1.下载jetbrainsCrack-2.7-release-str.jar包,如果 是2018.2 版本的idea则下载3.1的jar 下载地址: 2017.3 对应的是: https://files.cnblogs.com/files/xifenglou/JetBrains.z
阅读全文