本文共 533 字,大约阅读时间需要 1 分钟。
1.缓存使用场景
当用户使用我们的网站/APP时,数据来源基本是我们的底层数据库
当用户量大时,我们的数据库读写压力也会随之增加,一般情况下,我们的方法是会缓存一下热点数据,
缓存数据的目的:(1)可以直接使用户通过网站/APP从缓存中获取数据并获取响应
(2)也会减轻数据库的压力
2.考虑缓存存在的问题
问题:当缓存不可用时,用户的请求会直接落在数据库上,在高并发/遭受攻击时,数据库就会崩溃。
3.当缓存可用,也会遇到如下问题
(1)缓存穿透【指的是当用户请求时,本身就不存在的缓存,会直接请求数据库,如果遇到高并发/攻击,会造成缓存穿透】
解决办法:
(2)缓存击穿【指的是当用户请求时,缓存失效,会直接从数据库中重新拿取缓冲,并存入缓存,如果在获取缓存时遇到高并发,数据库压力过大会造成缓存击穿】
解决办法:
(3)缓存雪崩【指的是大面积的缓存击穿或服务不可用】
解决办法:
随手记
转载地址:http://mqgl.baihongyu.com/