2024-01-03
学习总结
## 咸鱼翻身百天挑战第十六天
我们的目标是:每天学习一个小时以及以上
今天领导没来上班,没人安排任务,把上周放假前剩下的一点任务完成了就没了,摸鱼一整天非常快乐。
然后看了mysql45讲的行锁相关的,还有08讲事务到底是隔离的还是不隔离的这个看了一多半,没看完,还没写总结,我感觉这个45讲,可能要不止看一遍,得多看几遍。
然后就是redis的视频,看了缓存击穿,缓存穿透,缓存雪崩的解决方案。
缓存击穿是存在热点key且重建困难的失效了导致大量的请求落到数据库,解决方案是
1. 互斥锁,只有获得互斥锁才能去重建缓存,其他就等待。
2. 逻辑过期时间:热点数据不设置逻辑过期时间,在查询到后判断逻辑时间是否过期,不过期返回,过期采用互斥锁重建,然后先返回旧数据
缓存穿透:攻击者用缓存中不存在,数据库中不存在的数据 请求数据库,导致数据库压力过大
解决方案:
1. 设置空值,第一次查询不存在就在redis中设置为空的值,之后直接返回空值即可
2. 布隆过滤器,过滤器进行判断
缓存雪崩:大批量的key集中过期,或者是redis服务器宕机
解决方案:设置随机的ttl过期时间,使用redis集群,或者热点数据不设置过期时间、
击穿,穿透,我老是记混,到底是谁起的名,不能起个辨识度高的嘛。
各位明天见。
12
0
分享
操作
评论
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
