自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Redis Study消息队列

在一般的业务场景下,基于redis的stream足以应付。

2022-12-15 10:57:34 83

原创 Redis Study 秒杀优化

在用户执行秒杀业务时,先对其在redis中判断库存情况和一人一旦情况(lua脚本执行)如图,将库存判断,一人一单判断存在redis中,由于原子性的问题,使用lua脚本。符合:将其信息放在阻塞队列中,利用一个新的线程对其阻塞队列的信息进行处理。不符合:直接返回无资格。

2022-12-15 10:37:16 85

原创 全局异常配置

* 在项目实现的时候,对于某些异常,编写一个全局异常,来处理 **

2022-12-14 13:33:24 99

原创 Redis Study 分布式锁

线程1由于业务的阻塞,没有处理,但是由于超时,锁已经释放了,此时线程2进入,显然可以拿到锁,但是线程1的业务此次完成,要触发解锁的过程,此时解锁就解的是线程2的锁,此时线程3进入,显然可以拿到锁,可以看到线程2和线程3都拿到了锁,发生线程冲突的问题。由于jvm的垃圾回收机制,在线程1判断完成后,出现堵塞时会出现如上图的情况,导致再次出现多线程执行的问题,这是由于判断和释放虽然是紧接着之后的,但不是原子性操作。要注意的是:我们在调用锁的时候,锁的是用户id,而不是所有用户,防止的是某个id多并发下单。

2022-11-29 23:15:44 158

原创 Redis Stduy秒杀情况处理

= 实际业务中我们要注意以下几点情况 ==1.首先我们想到的肯定是判断该用户是否已经下单过 -----在高并发下,一个用户如果同时发送多个请求,乐观锁的失误率也会大大增加2.所以想到使用悲观锁控制,注意加锁的位置,如果直接加载数据库处理位置,整个程序将成为串行,会大大影响体验。3.这里的悲观锁的位置要考虑spring的事务处理 ==!!!==但是在集群模式下,同一个用户多次发送请求时就需要一个锁来管理所有的jvm 对一个用户判断时,考虑所有的jvm中这个用户是否可以操作。

2022-11-25 16:33:05 198

原创 Algorithm 离散化

* 好久没用到这个了,也可能这段时间写项目没怎么写算法,但是重新分析了一下有了更深的理解 **

2022-11-24 16:16:11 44

原创 RedisUtils解决缓存击穿和缓存穿透

RedisUtils解决缓存击穿和缓存穿透。

2022-11-23 10:59:06 60

原创 Redis Study查询缓存

浏览器:一般缓存在本地的都是js,css等不经常改变tomcat-map,redis:一般缓存经常查询的值数据库 :索引。

2022-11-20 15:43:59 275

原创 Redis Study短信登录

* 之前在自己的项目中实现了邮箱登录redis存储code,整个设计流程都是自己直觉实现的,总感觉有点不对劲,就准备系统的学习redis,然后看了许多blog和视频之后,发现很多项目的开发流程和我的第一直觉都大同小异hhhhh,但是还是准备系统的记录一下,完善自己的知识框架。这里我先简单记录一下短信登录的实现流程和原理 **

2022-11-20 11:55:51 88

原创 springboot集成redis Redisutils

* 简单记录一下流程。。。**

2022-11-15 18:44:21 148

原创 Java邮箱

* 实现邮箱登录,注册,找回密码等功能,对此进行总结 **** 这里的没有对数据库存储,而是使用redis进行存储,关于redis会在下节课总结**

2022-11-13 15:00:15 399

原创 多级评论实现

* 最近再开发个人的网站的时候,想到了多级评论,在简单的学习了一下之后,认识到数据库设计的重要性,对此,总结一下多级评论的实现 **

2022-11-08 13:25:43 405

原创 WebSocket

了解计算机网络协议的人,应该都知道:HTTP 协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型。通信请求只能由客户端发起,服务端对请求做出应答处理。这种通信模型有一个弊端:HTTP 协议无法实现服务器主动向客户端发起消息。这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。大多数 Web 应用程序将通过频繁的异步 JavaScript 和 XML(AJAX)请求实现长轮询。轮询的效率低,非常浪费资源(因为必须不停连接,或者 HTTP 连接始终打开)。

2022-11-07 16:11:47 85

原创 Redis

Redis

2022-09-01 13:54:30 225

原创 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 275

原创 Acwing64周赛+Leetcode306周赛

题目链接本周的周赛好像比较简单,可能是因为为csp模拟赛找一下信息的原因,很容易就ak前面两题我就不说了,就是简单的return a+b这题的话就是考的两个知识点: 前缀和 还有 异或运算;这里可以推导一下 利用前缀和 然后很容易就求解;第四题的链接。...

2022-08-15 11:22:10 97

原创 Acwing63周赛+Leetcode305周赛

leetcode+acwing周赛

2022-08-08 19:08:10 325 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除