# # redis 数据失效的严重性 —— 雪崩
# # 数据失效情况的总结
1. 第一种是内存放满了 。 根据一个淘汰机制去移除内存中的数据。其实这也算是被动失效。
2. 我们对数据设置的过期时间
3. 宕机 。 这个都是无法避免数据丢失的。
# # 缓存失效问题解决方案
通过JUC 并发编程 ,使用信号量的方式
# # 这种方案的限流 也带来的一个负面影响
表面上来看,是能够保证服务的正常使用了,但是那些被限流限制的用户就要等待了,用户不知道,就会觉得是卡住了,这个情况下,一个解决方案就是服务降级。返回用户一个错误的状态码,而不是在一直等待,这种现状就很长见,比如双十一的头一秒,的在购物车中的订单,提交却返回我提交失败,请重试,提交了好几次才把订单给成功提交了。
我们可以这样来做:利用信号量的 tryAcquire 尝试失败以后会返回失败,就可以了。利用这一点就可以达到降级的效果。