1、缓存雪崩:
缓存雪崩是指,某一时刻,缓存的key都集中失效,导致所有的数据请求都直接请求数据库,这可能对于系统而言是灾难性的。所以在实际应用中,应该将缓存失效的时间尽可能的分散。还可以 队列、加锁、不过用户体验会大大降低
2、缓存穿透
是指所请求的数据在缓存中不存在,全部都要去数据库中查,比如所查询的对象都是null 值。可以将null值进行缓存,另外可以使用布隆过滤器,事先将不存在的key缓存,然后进行过滤。
3、 缓存击穿:
是指缓存的某一时刻在key 失效的一瞬间,所有的请求都到数据库。
4、缓存预热
在初始化或系统上线的时候,事先将数据进行缓存。
5、缓存降级(‘保大人保小孩的问题’,尽可能保持主数据运转,)
访问量剧增、服务出现问题(如响应时间慢或不响应)或非核心服务影响到核心流程的性能时,仍然需要保证服务还是可用的,即使是有损服务。系统可以根据一些关键数据进行自动降级,也可以配置开关实现人工降级
什么是布隆过滤器
本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在
百度: