- 博客(17)
- 收藏
- 关注
原创 Redis Study 秒杀优化
在用户执行秒杀业务时,先对其在redis中判断库存情况和一人一旦情况(lua脚本执行)如图,将库存判断,一人一单判断存在redis中,由于原子性的问题,使用lua脚本。符合:将其信息放在阻塞队列中,利用一个新的线程对其阻塞队列的信息进行处理。不符合:直接返回无资格。
2022-12-15 10:37:16
138
原创 Redis Study 分布式锁
线程1由于业务的阻塞,没有处理,但是由于超时,锁已经释放了,此时线程2进入,显然可以拿到锁,但是线程1的业务此次完成,要触发解锁的过程,此时解锁就解的是线程2的锁,此时线程3进入,显然可以拿到锁,可以看到线程2和线程3都拿到了锁,发生线程冲突的问题。由于jvm的垃圾回收机制,在线程1判断完成后,出现堵塞时会出现如上图的情况,导致再次出现多线程执行的问题,这是由于判断和释放虽然是紧接着之后的,但不是原子性操作。要注意的是:我们在调用锁的时候,锁的是用户id,而不是所有用户,防止的是某个id多并发下单。
2022-11-29 23:15:44
209
原创 Redis Stduy秒杀情况处理
= 实际业务中我们要注意以下几点情况 ==1.首先我们想到的肯定是判断该用户是否已经下单过 -----在高并发下,一个用户如果同时发送多个请求,乐观锁的失误率也会大大增加2.所以想到使用悲观锁控制,注意加锁的位置,如果直接加载数据库处理位置,整个程序将成为串行,会大大影响体验。3.这里的悲观锁的位置要考虑spring的事务处理 ==!!!==但是在集群模式下,同一个用户多次发送请求时就需要一个锁来管理所有的jvm 对一个用户判断时,考虑所有的jvm中这个用户是否可以操作。
2022-11-25 16:33:05
211
原创 Redis Study查询缓存
浏览器:一般缓存在本地的都是js,css等不经常改变tomcat-map,redis:一般缓存经常查询的值数据库 :索引。
2022-11-20 15:43:59
307
原创 Redis Study短信登录
* 之前在自己的项目中实现了邮箱登录redis存储code,整个设计流程都是自己直觉实现的,总感觉有点不对劲,就准备系统的学习redis,然后看了许多blog和视频之后,发现很多项目的开发流程和我的第一直觉都大同小异hhhhh,但是还是准备系统的记录一下,完善自己的知识框架。这里我先简单记录一下短信登录的实现流程和原理 **
2022-11-20 11:55:51
99
原创 Java邮箱
* 实现邮箱登录,注册,找回密码等功能,对此进行总结 **** 这里的没有对数据库存储,而是使用redis进行存储,关于redis会在下节课总结**
2022-11-13 15:00:15
466
原创 多级评论实现
* 最近再开发个人的网站的时候,想到了多级评论,在简单的学习了一下之后,认识到数据库设计的重要性,对此,总结一下多级评论的实现 **
2022-11-08 13:25:43
479
原创 WebSocket
了解计算机网络协议的人,应该都知道:HTTP 协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型。通信请求只能由客户端发起,服务端对请求做出应答处理。这种通信模型有一个弊端:HTTP 协议无法实现服务器主动向客户端发起消息。这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。大多数 Web 应用程序将通过频繁的异步 JavaScript 和 XML(AJAX)请求实现长轮询。轮询的效率低,非常浪费资源(因为必须不停连接,或者 HTTP 连接始终打开)。
2022-11-07 16:11:47
123
原创 Acwing66周赛+Leetcode308周赛
题目链接这次的周赛又划水了 ,是真的划水了 hhh去湖州漂流hh第二题字母补齐简单而言就是构造一个hash表,遍历string。。。第三题我们构造一个vector p;对于数字1 p[1].push_back() 记录存在的位置我们首先直接计算出超级数的个数 cnt若cnt 为偶数 可以直接操作若cnt 为奇数 我们对非超级数进行如下处理1.当此数字出现次数为2时 我们发现无论放在a中还是b中对结果没有影响。......
2022-08-30 07:48:24
338
原创 Acwing64周赛+Leetcode306周赛
题目链接本周的周赛好像比较简单,可能是因为为csp模拟赛找一下信息的原因,很容易就ak前面两题我就不说了,就是简单的return a+b这题的话就是考的两个知识点: 前缀和 还有 异或运算;这里可以推导一下 利用前缀和 然后很容易就求解;第四题的链接。...
2022-08-15 11:22:10
124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人