Redis
文章平均质量分 51
广东漂泊十三年少年
杭州大三 求实习
展开
-
Redis Study消息队列
在一般的业务场景下,基于redis的stream足以应付。原创 2022-12-15 10:57:34 · 108 阅读 · 0 评论 -
Redis Study 秒杀优化
在用户执行秒杀业务时,先对其在redis中判断库存情况和一人一旦情况(lua脚本执行)如图,将库存判断,一人一单判断存在redis中,由于原子性的问题,使用lua脚本。符合:将其信息放在阻塞队列中,利用一个新的线程对其阻塞队列的信息进行处理。不符合:直接返回无资格。原创 2022-12-15 10:37:16 · 138 阅读 · 0 评论 -
Redis Study 分布式锁
线程1由于业务的阻塞,没有处理,但是由于超时,锁已经释放了,此时线程2进入,显然可以拿到锁,但是线程1的业务此次完成,要触发解锁的过程,此时解锁就解的是线程2的锁,此时线程3进入,显然可以拿到锁,可以看到线程2和线程3都拿到了锁,发生线程冲突的问题。由于jvm的垃圾回收机制,在线程1判断完成后,出现堵塞时会出现如上图的情况,导致再次出现多线程执行的问题,这是由于判断和释放虽然是紧接着之后的,但不是原子性操作。要注意的是:我们在调用锁的时候,锁的是用户id,而不是所有用户,防止的是某个id多并发下单。原创 2022-11-29 23:15:44 · 209 阅读 · 0 评论 -
Redis Stduy秒杀情况处理
= 实际业务中我们要注意以下几点情况 ==1.首先我们想到的肯定是判断该用户是否已经下单过 -----在高并发下,一个用户如果同时发送多个请求,乐观锁的失误率也会大大增加2.所以想到使用悲观锁控制,注意加锁的位置,如果直接加载数据库处理位置,整个程序将成为串行,会大大影响体验。3.这里的悲观锁的位置要考虑spring的事务处理 ==!!!==但是在集群模式下,同一个用户多次发送请求时就需要一个锁来管理所有的jvm 对一个用户判断时,考虑所有的jvm中这个用户是否可以操作。原创 2022-11-25 16:33:05 · 211 阅读 · 0 评论 -
RedisUtils解决缓存击穿和缓存穿透
RedisUtils解决缓存击穿和缓存穿透。原创 2022-11-23 10:59:06 · 77 阅读 · 0 评论 -
Redis Study查询缓存
浏览器:一般缓存在本地的都是js,css等不经常改变tomcat-map,redis:一般缓存经常查询的值数据库 :索引。原创 2022-11-20 15:43:59 · 308 阅读 · 0 评论 -
Redis Study短信登录
* 之前在自己的项目中实现了邮箱登录redis存储code,整个设计流程都是自己直觉实现的,总感觉有点不对劲,就准备系统的学习redis,然后看了许多blog和视频之后,发现很多项目的开发流程和我的第一直觉都大同小异hhhhh,但是还是准备系统的记录一下,完善自己的知识框架。这里我先简单记录一下短信登录的实现流程和原理 **原创 2022-11-20 11:55:51 · 99 阅读 · 0 评论