缓存雪崩、缓存穿透、缓存击穿、缓存预热、缓存降级

1、缓存雪崩:

     缓存雪崩是指,某一时刻,缓存的key都集中失效,导致所有的数据请求都直接请求数据库,这可能对于系统而言是灾难性的。所以在实际应用中,应该将缓存失效的时间尽可能的分散。还可以 队列、加锁、不过用户体验会大大降低

2、缓存穿透

  是指所请求的数据在缓存中不存在,全部都要去数据库中查,比如所查询的对象都是null 值。可以将null值进行缓存,另外可以使用布隆过滤器,事先将不存在的key缓存,然后进行过滤。

3、 缓存击穿:

  是指缓存的某一时刻在key 失效的一瞬间,所有的请求都到数据库。

4、缓存预热

    在初始化或系统上线的时候,事先将数据进行缓存。

5、缓存降级(‘保大人保小孩的问题’,尽可能保持主数据运转,)

  访问量剧增、服务出现问题(如响应时间慢或不响应)或非核心服务影响到核心流程的性能时,仍然需要保证服务还是可用的,即使是有损服务。系统可以根据一些关键数据进行自动降级,也可以配置开关实现人工降级

什么是布隆过滤器

本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在


百度:

布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。
原文地址:https://www.cnblogs.com/hnzheng/p/12772833.html