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