专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java秒杀!简历亮点!(简历java范文)

temp10 2024-09-25 21:05:51 java教程 8 ℃ 0 评论

秒杀专题:Java秒杀简历的亮点。

Java秒杀是简历的亮点,能让面试官眼前一亮。一旦写到简历里面,面试官一定会问到这个问题。本视频就分享秒杀的坑,在视频的最后会给出最好的秒杀的方案。

Java秒杀!简历亮点!(简历java范文)

·首先来看第一个:数据库。这是第一个坑,一定不要用数据库。无论是用悲观锁还是乐观锁都不要用。因为直接操作数据库,它的性能是很低的,尽量去放到缓存里面去操作。

·第二个坑就是悲观锁。不要去用悲观锁,无论是数据库的悲观锁还是Redis的悲观锁,性能都是很差的,所以这一个也不要用。

·第三个坑是乐观锁。悲观锁性能很差,所以不要用它。乐观锁能不能用?乐观锁在并发量很高的时候,它的竞争成功率会特别的低,导致它性能也特别的差,其实跟悲观锁好不到哪里去,所以这个也不要用它。无论是数据库还是Redis,都不要使用乐观锁这个方案。

·再来看Redis的watch可不可以用?watch就是看变量有没有改变,它并不能保证原子性,也没有锁的作用,所以这个也是不能用的。

·最好的方案是在秒杀之前,先从数据库里边把数据读到Redis里边,秒杀的时候就用Redis的lua脚本去操作。因为lua脚本是可以保证原子性的,lua脚本在操作的时候不会有锁,它是直接去操作数据的,所以它比加锁的机制性能要高很多。

lua脚本操作完之后,立马把消息投递到MQ里面去。这一个操作是特别的快的,结束之后结果会立马返回给用户,就是下单成功。消费者收到MQ的数据之后,把它持久化到数据库里面,这个就在后台慢慢去处理就可以了,这个就是一个很好的方案。

现在随着一个时代的演进,又开始有了一些其他的变化。比如在很多的平台里边,由原来的秒杀变成了日杀,就是一天之内把这个东西给买完,而不是一秒之内买完。更有甚者,比如像618之类的,它在6月一开始就开始了这一个活动,然后到6月底还没结束已经变成了月杀。

还有其他的一些方案,比如12306订票系统,它是通过不同的站点还有一个不同的时间,从而去达到分发流量的作用,降低了并发量,这也是一些不同的方案。如果是单纯对秒杀来说,这种方案就是最好的方案了。

下期视频再见,拜拜。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表