diff --git a/src/main/java/com/itstyle/seckill/service/impl/SeckillDistributedServiceImpl.java b/src/main/java/com/itstyle/seckill/service/impl/SeckillDistributedServiceImpl.java index 7f64a02..8b45cdc 100644 --- a/src/main/java/com/itstyle/seckill/service/impl/SeckillDistributedServiceImpl.java +++ b/src/main/java/com/itstyle/seckill/service/impl/SeckillDistributedServiceImpl.java @@ -26,8 +26,8 @@ public class SeckillDistributedServiceImpl implements ISeckillDistributedService public Result startSeckilRedisLock(long seckillId,long userId) { boolean res=false; try { - //尝试获取锁,最多等待10秒,上锁以后10秒自动解锁(实际项目中推荐这种,以防出现死锁) - res = RedissLockUtil.tryLock(seckillId+"", TimeUnit.SECONDS, 20, 10); + //尝试获取锁,最多等待3秒,上锁以后20秒自动解锁(实际项目中推荐这种,以防出现死锁)、这里根据预估秒杀人数,设定自动释放锁时间 + res = RedissLockUtil.tryLock(seckillId+"", TimeUnit.SECONDS, 3, 20); String nativeSql = "SELECT number FROM seckill WHERE seckill_id=?"; Object object = dynamicQuery.nativeQueryObject(nativeSql, new Object[]{seckillId}); Long number = ((Number) object).longValue(); diff --git a/src/main/java/com/itstyle/seckill/web/SeckillDistributedController.java b/src/main/java/com/itstyle/seckill/web/SeckillDistributedController.java index 11c4d3b..c027267 100644 --- a/src/main/java/com/itstyle/seckill/web/SeckillDistributedController.java +++ b/src/main/java/com/itstyle/seckill/web/SeckillDistributedController.java @@ -56,7 +56,7 @@ public class SeckillDistributedController { executor.execute(task); } try { - Thread.sleep(10000); + Thread.sleep(15000); Long seckillCount = seckillService.getSeckillCount(seckillId); LOGGER.info("一共秒杀出{}件商品",seckillCount); } catch (InterruptedException e) { diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index f321856..fa94d55 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -42,7 +42,7 @@ spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect # \u6570\u636e\u5e93\u7d22\u5f15\uff08\u9ed8\u8ba4\u4e3a0\uff09 spring.redis.database=0 # \u670d\u52a1\u5668\u5730\u5740 \u53d8\u66f4\u4e3a\u81ea\u5df1\u7684 -spring.redis.host=192.168.1.180 +spring.redis.host=121.42.155.213 # \u670d\u52a1\u5668\u8fde\u63a5\u7aef\u53e3 spring.redis.port=6379 # \u670d\u52a1\u5668\u8fde\u63a5\u5bc6\u7801\uff08\u9ed8\u8ba4\u4e3a\u7a7a\uff09\u5982\u679c\u6709\u53d8\u66f4\u4e3a\u81ea\u5df1\u7684 @@ -62,12 +62,12 @@ spring.session.store-type=redis # redisson lock -redisson.address=redis://192.168.1.180:6379 +redisson.address=redis://121.42.155.213:6379 redisson.password=6347097 #kafka\u76f8\u5173\u914d\u7f6e \u53c2\u8003\uff1ahttps://blog.52itstyle.com/archives/2868/ -spring.kafka.bootstrap-servers=192.168.1.180:9092 +spring.kafka.bootstrap-servers=121.42.155.213:9092 #\u8bbe\u7f6e\u4e00\u4e2a\u9ed8\u8ba4\u7ec4 spring.kafka.consumer.group-id=0 #key-value\u5e8f\u5217\u5316\u53cd\u5e8f\u5217\u5316 @@ -81,4 +81,4 @@ spring.kafka.producer.buffer-memory=524288 #zookeeper.address -zookeeper.address = 192.168.1.180:2181 \ No newline at end of file +zookeeper.address = 121.42.155.213:2181 \ No newline at end of file