当前位置: 首页 > news >正文

福建咨询网站建设商家站长工具seo综合查询全面解析

福建咨询网站建设商家,站长工具seo综合查询全面解析,ss永久免费服务器,wordpress付费文章缓存穿透 概念: 查询一个数据库中也不存在的数据,数据库查询不到数据也就不会写入缓存,就会导致一直查询数据库 解决方法: 1. 缓存空数据 如果数据库也查询不到,就把空结果进行缓存 缺点是 - 消耗内存 2. 使用布…

缓存穿透

概念: 查询一个数据库中也不存在的数据,数据库查询不到数据也就不会写入缓存,就会导致一直查询数据库

解决方法:

1. 缓存空数据

如果数据库也查询不到,就把空结果进行缓存

缺点是 - 消耗内存

2. 使用布隆过滤器

布隆过滤器的作用 :检索一个元素是否在某个集合中

布隆过滤器由组成 : 位图 + 若干哈希函数

位图: 一个以 bit (位) 为单位的数组,数组中的每个单位只能存储二进制数 0 或 1 ,并且在初始状态下都为 1

比如数据库中有个 id=1 的数据,布隆过滤器会通过三个哈希函数分别计算出其哈希值为 1 、3 、7 ,将这三个位置的值置为 1
在这里插入图片描述
接着依次将数据库中的其他数据按照该方法写入布隆过滤器

如果此时请求查询 id = -1,根据那三个哈希函数计算得到的哈希值为 1 、 3 、 14 ,并且位图中 14 位置的值为0, 那么我们就可以肯定这个数据在MySQL中不存在

但如果 计算出来的值是 1 、 3 、 14 ,且这三个位置的值都为 1,那也不能确定 id=-1 的数据在数据库中存在,比如以下情况
在这里插入图片描述
1 、 3 、 14 三个位置的值都为 1 ,并不是因为 id=-1 的数据存在,而是恰巧 id=1 和 id=2 的存在使得 1 、 3 、 14 三个位置的值都为 1

我们可以想到,数组越小,误判的概率就越大,上面的位图只是做演示,实际上的位图长度非常长

在 Java 中提供了具体的实现方案 Redisson 和 Guava

布隆过滤器的预热 和 缓存的预热是在同一时刻进行的,之后的请求都会先打到布隆过滤器上,如果布隆过滤器判断该数据不存在直接返回,如果判断存在再放行查询缓存

缓存击穿

*概念:*一个非常热点的key在扛着大并发,当这个key过期的时候,持续的大并发就穿破缓存,直接打到数据库上,把数据库压垮

解决方法:

添加互斥锁(分布式锁)

在这里插入图片描述
当 线程1 查询缓存未命中时,添加一个互斥锁,接着查询数据库重建缓存,重建缓存的过程中,又来个 线程2 ,线程2 也不会命中缓存,那么 线程2 会尝试获取互斥锁,但是失败(因为此时被线程1持有),线程2 会休眠一会儿重试,直到 线程1 重建缓存成功,线程2 N次尝试后命中缓存

实例代码如下:
在这里插入图片描述

逻辑过期

概念: 对热点数据不设置过期时间,我们在写缓存的时候添加一个过期时间字段

其执行过程如下

在这里插入图片描述
线程1 查询缓存,发现数据已经逻辑过期,则获取互斥锁,并创建子线程 线程2 去重建缓存,然后直接返回过期的数据,在 线程2 重建缓存的过程中,又来个 线程3 发现缓存也过期了,而获取互斥锁失败,同样直接返回过期数据

两种方法的比较:

  • 互斥锁 – 能保证数据的强一致性 但是 性能较差
  • 逻辑过期 – 优先保证高可用,但是数据一致性较差

现实开发过程中,要根据不同的业务场景进行选择,如果业务中设计金钱交易,一般要保证高可用,选择互斥锁,而在互联网的场景中,更加注重用户体验的场景,首选逻辑过期方案

缓存雪崩

概念: 在同一个时段内,有大量的key同时失效 或者 Redis服务器宕机,导致大量请求到达服务器,带来巨大压力

解决方法:

如果是有大量的key同时失效 – 给不同的key的过期时间添加随机值

如果是Redis服务器宕机 – 搭建Redis高可用集群

兜底方案 – 给缓存业务添加降级限流策略

对于这三个问题,都可以使用 降级限流策略 解决,但是降级限流会影响用户体验

http://www.yayakq.cn/news/764681/

相关文章:

  • 高端网站设计官网浙江省建设厅继续教育网站首页
  • 建立网站要怎么做河南建筑工程有限公司
  • 北京制作网站公司排名做网站有要求吗
  • 相亲网与做网站肇庆做网站的公司
  • 中太建设集团网站百度一下百度搜索官网
  • 网站免费下载appwordpress 后台的图片怎么 关闭
  • 长沙做搜索引擎的公司网站优化软件排名技术
  • 网站模板建站教程商务网站建设数据处理
  • 有做数学题的网站吗做动漫的网站
  • 江阴做网站的引进韩国电影
  • 如何做好网站内链兰州网站备案
  • 太原网站优化公司做版权保护的网站
  • 河南网站建设电话网站建设 部署与发布
  • 比较好的公文写作网站装修设计软件手机版免费版
  • 褚橙的网站建设穿越yin线的做网站
  • 成都专线运输电话高州网站seo
  • 济南网站建设外包公司排名运营推广怎么学
  • 怎么做商业网站模板wordpress博客站点地图
  • 电子政务门户网站建设的教训杭州电子商务公司排行
  • 深圳沙井做网站公司软件开发项目管理书籍
  • 广西桂林网站建设网络广告策划方案范文
  • 免费大气网站模板陕西省建设网三类人员继续教育
  • 企业网站的价值体现是在优化手机网站
  • 长沙手机网站设计生活服务网站建设方案
  • 做网站一般注册商标哪个类网站内链是什么
  • 网站登记表网站主页设计素材
  • 微网站建设完 不知道怎么推广咋办太原专业设计网页公司
  • 自己建网站怎么赚钱广州百度搜索排名优化
  • 个人博客网站的设计与实现微网站 好处
  • dw做网站的所有流程怎么做招聘网站设计