网站首页 > java教程 正文
秒杀专题:Java秒杀简历的亮点。
Java秒杀是简历的亮点,能让面试官眼前一亮。一旦写到简历里面,面试官一定会问到这个问题。本视频就分享秒杀的坑,在视频的最后会给出最好的秒杀的方案。
·首先来看第一个:数据库。这是第一个坑,一定不要用数据库。无论是用悲观锁还是乐观锁都不要用。因为直接操作数据库,它的性能是很低的,尽量去放到缓存里面去操作。
·第二个坑就是悲观锁。不要去用悲观锁,无论是数据库的悲观锁还是Redis的悲观锁,性能都是很差的,所以这一个也不要用。
·第三个坑是乐观锁。悲观锁性能很差,所以不要用它。乐观锁能不能用?乐观锁在并发量很高的时候,它的竞争成功率会特别的低,导致它性能也特别的差,其实跟悲观锁好不到哪里去,所以这个也不要用它。无论是数据库还是Redis,都不要使用乐观锁这个方案。
·再来看Redis的watch可不可以用?watch就是看变量有没有改变,它并不能保证原子性,也没有锁的作用,所以这个也是不能用的。
·最好的方案是在秒杀之前,先从数据库里边把数据读到Redis里边,秒杀的时候就用Redis的lua脚本去操作。因为lua脚本是可以保证原子性的,lua脚本在操作的时候不会有锁,它是直接去操作数据的,所以它比加锁的机制性能要高很多。
lua脚本操作完之后,立马把消息投递到MQ里面去。这一个操作是特别的快的,结束之后结果会立马返回给用户,就是下单成功。消费者收到MQ的数据之后,把它持久化到数据库里面,这个就在后台慢慢去处理就可以了,这个就是一个很好的方案。
现在随着一个时代的演进,又开始有了一些其他的变化。比如在很多的平台里边,由原来的秒杀变成了日杀,就是一天之内把这个东西给买完,而不是一秒之内买完。更有甚者,比如像618之类的,它在6月一开始就开始了这一个活动,然后到6月底还没结束已经变成了月杀。
还有其他的一些方案,比如12306订票系统,它是通过不同的站点还有一个不同的时间,从而去达到分发流量的作用,降低了并发量,这也是一些不同的方案。如果是单纯对秒杀来说,这种方案就是最好的方案了。
下期视频再见,拜拜。
猜你喜欢
- 2024-09-25 Java程序员简历制作的4个技巧,大幅提高面试通过率
- 2024-09-25 java初级工程师简历专业技能怎么写
- 2024-09-25 阿里p8大牛三年整理出全网最全的5万字的《Java面试手册含简历》
- 2024-09-25 java软件工程师的简历内容怎么填写
- 2024-09-25 java软件工程师简历专业技能怎么写
- 2024-09-25 Java面试简历怎么写?(java面试自我简介)
- 2024-09-25 程序员如何写出杀手级的求职简历(程序员求职记)
- 2024-09-25 java软件工程师简历工作经历填写样本
- 2024-09-25 靠着这份java简历,我拿到了7个offer
- 2024-09-25 如何写一份优秀的Java程序员简历?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)