会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
kisshappyboy
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
12
13
14
15
16
17
18
19
20
···
22
下一页
2022年11月30日
Redis分布式锁误删情况说明
摘要: 辑说明: 持有锁的线程在锁的内部出现了阻塞,导致他的锁自动释放,这时其他线程,线程2来尝试获得锁,就拿到了这把锁,然后线程2在持有锁执行过程中,线程1反应过来,继续执行,而线程1执行过程中,走到了删除锁逻辑,此时就会把本应该属于线程2的锁进行删除,这就是误删别人锁的情况说明 解决方案:解决方案就是在
阅读全文
posted @ 2022-11-30 22:56 kisshappyboy
阅读(757)
评论(0)
推荐(0)
2022年11月29日
集群环境下的并发问题
摘要: 通过加锁可以解决在单机情况下的一人一单安全问题,但是在集群模式下就不行了。 有关锁失效原因分析 由于现在我们部署了多个tomcat,每个tomcat都有一个属于自己的jvm,那么假设在服务器A的tomcat内部,有两个线程,这两个线程由于使用的是同一份代码,那么他们的锁对象是同一个,是可以实现互斥的
阅读全文
posted @ 2022-11-29 23:06 kisshappyboy
阅读(230)
评论(0)
推荐(0)
优惠券秒杀-一人一单
摘要: 需求:修改秒杀业务,要求同一个优惠券,一个用户只能下一单 现在的问题在于: 优惠卷是为了引流,但是目前的情况是,一个人可以无限制的抢这个优惠卷,所以我们应当增加一层逻辑,让一个用户只能下一个单,而不是让一个用户下多个单 具体操作逻辑如下:比如时间是否充足,如果时间充足,则进一步判断库存是否足够,然后
阅读全文
posted @ 2022-11-29 21:42 kisshappyboy
阅读(87)
评论(0)
推荐(0)
2022年11月28日
基于redis实现秒杀下单
摘要: 秒杀下单应该思考的内容: 下单时需要判断两点: 秒杀是否开始或结束,如果尚未开始或已经结束则无法下单 库存是否充足,不足则无法下单 下单核心逻辑分析: 当用户开始进行下单,我们应当去查询优惠卷信息,查询到优惠卷信息,判断是否满足秒杀条件 比如时间是否充足,如果时间充足,则进一步判断库存是否足够,如果
阅读全文
posted @ 2022-11-28 23:26 kisshappyboy
阅读(210)
评论(0)
推荐(0)
基于redis的全局唯一ID
摘要: 当用户抢购时,就会生成订单并保存到tb_voucher_order这张表中,而订单表如果使用数据库自增ID就存在一些问题: id的规律性太明显 受单表数据量的限制 场景分析:如果我们的id具有太明显的规则,用户或者说商业对手很容易猜测出来我们的一些敏感信息,比如商城在一天时间内,卖出了多少单,这明显
阅读全文
posted @ 2022-11-28 14:40 kisshappyboy
阅读(140)
评论(0)
推荐(0)
2022年11月27日
封装Redis工具类
摘要: 基于StringRedisTemplate封装一个缓存工具类,满足下列需求: 方法1:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置TTL过期时间 方法2:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置逻辑过期时间,用于处理缓
阅读全文
posted @ 2022-11-27 22:44 kisshappyboy
阅读(122)
评论(0)
推荐(0)
逻辑过期解决缓存击穿问题
摘要: 需求:修改根据id查询商铺的业务,基于逻辑过期方式来解决缓存击穿问题 思路分析:当用户开始查询redis时,判断是否命中,如果没有命中则直接返回空数据,不查询数据库,而一旦命中后,将value取出,判断value中的过期时间是否满足,如果没有过期,则直接返回redis中的数据,如果过期,则在开启独立
阅读全文
posted @ 2022-11-27 21:18 kisshappyboy
阅读(504)
评论(0)
推荐(0)
利用互斥锁解决缓存击穿问题
摘要: 核心思路:相较于原来从缓存中查询不到数据后直接查询数据库而言,现在的方案是 进行查询之后,如果从缓存没有查询到数据,则进行互斥锁的获取,获取互斥锁后,判断是否获得到了锁,如果没有获得到,则休眠,过一会再进行尝试,直到获取到锁为止,才能进行查询 如果获取到了锁的线程,再去进行查询,查询后将数据写入re
阅读全文
posted @ 2022-11-27 11:59 kisshappyboy
阅读(273)
评论(0)
推荐(0)
缓存雪崩和击穿问题及解决思路
摘要: 缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。 解决方案: 给不同的Key的TTL添加随机值 》在环境预热批量导入redis时发生 利用Redis集群提高服务的可用性 给缓存业务添加降级限流策略 给业务添加多级缓存 缓存击穿问题及解决思路
阅读全文
posted @ 2022-11-27 11:31 kisshappyboy
阅读(102)
评论(0)
推荐(0)
缓存穿透问题的解决思路
摘要: 缓存穿透 :缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。 常见的解决方案有两种: 缓存空对象 优点:实现简单,维护方便 缺点: 额外的内存消耗 可能造成短期的不一致 布隆过滤 优点:内存占用较少,没有多余key 缺点: 实现复杂 存在误判可能
阅读全文
posted @ 2022-11-27 10:35 kisshappyboy
阅读(101)
评论(0)
推荐(0)
上一页
1
···
12
13
14
15
16
17
18
19
20
···
22
下一页
公告