springboot+redis分布式锁-模拟抢单
本篇内容主要讲解的是redis分布式锁,这个在各大厂面试几乎都是必备的,下面结合模拟抢单的场景来使用她;本篇不涉及到的redis环境搭建,快速搭建个人测试环境,这里建议使用docker;本篇内容节点如下:1.jedis的nx生成锁2.如何删除锁3.模拟抢单动作(10w个人开抢) jedis的nx生成锁对于java中想操作redis,好的方式是使用jedis,首先pom中引入依赖: 1 <dependency>2 <groupId>redis.clients</groupId>3 <artifactId>jedis</artifactId>4 </dependency> 对于分布式锁的生成通常需要注意如下几个方面:1、创建锁的策略:redis的普通key一般都允许覆盖,A用户set某个key后,B在set相同的key时同样能成功,如果是锁场景,那就无法知道到底是哪个用户set成功的;这里jedis的setnx方式为我们解决了这个问题,简单原理是:当A用户先set成功了,那B用户set的时候就返回失败,满足了某个时间点...
