面试题
文章平均质量分 57
@哈哈哈哈
这个作者很懒,什么都没留下…
展开
-
如何保证缓存一致性
目前有四种更新缓存的策略1.先更新数据库,再更新缓存2.先更新数据库,再更新缓存3.先淘汰缓存,再更新数据库4.先更新数据库,再淘汰缓存1.先更新数据库,再更新缓存2.先更新数据库,再更新缓存对于上述两种更新方案,当并发较大,同时有两个线程需要对同一个数据进行更新时,可能会出现以下问题:方案一、先更新(update)缓存,再更新数据库 线程A更新了缓存 线程B更新了缓存 线程B更新了数据库 线程A更新了数据库方案二、先更新数据库,再更新(update)缓存 线程A更原创 2021-06-11 15:44:35 · 1721 阅读 · 3 评论 -
【面试经典题】缓存穿透、缓存击穿和缓存雪崩
缓存穿透项目中使用缓存通常是先检查缓存中是否存在,如果存在就直接返回缓存中的内容,如果不存在就请求数据库,然后缓存返回的结果。但是如果我们请求的数据如果在缓存中一直不存在,就会造成成每一次请求都请求DB,这样缓存就失去了意义,在流量大的时候,db就可能挂掉。要是有人利用不存在的key频繁攻击我们的应用,就存在漏洞了。解决方案:(1)缓存空对象,设置短暂的过期时间。(2)布隆过滤器拦截缓存击穿在高并发的情况下,如果一个热点缓存失效了,可能出现多个进程同时查询db,同时设置缓存的情况。如果并发原创 2021-06-11 15:03:15 · 156 阅读 · 1 评论