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

用360云盘做网站百度网页版首页

用360云盘做网站,百度网页版首页,网站制作 合同,seo整站优化技术培训1.缓存的作用 数据库(如Mysql)的持久化特点带来了较低的性能,高并发的场景下,连接池很快被耗尽而出现宕机或DOS,无法继续对外提供服务。相对于数据库的硬盘IO,缓存中间件基于内存进行读写,从而具备较大的吞吐量和高并…

1.缓存的作用

数据库(如Mysql)的持久化特点带来了较低的性能,高并发的场景下,连接池很快被耗尽而出现宕机或DOS,无法继续对外提供服务。相对于数据库的硬盘IO,缓存中间件基于内存进行读写,从而具备较大的吞吐量和高并发抵抗能力。

在服务器与数据库之间添加一层缓存,一方面可以缓解数据库压力,适应高并发场景;另一方面可以提高服务器的响应速度(内存读写速度远高于磁盘IO),具体流程如下所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Llifcjw-1714982408769)(C:\Users\0216001379\AppData\Roaming\Typora\typora-user-images\1714965497585.png)]
引入缓存后,服务器会先从缓存服务器查询,若数据不存在,才会从数据库查询,并将数据库查询结果写入缓存服务器。当数据被缓存至缓存服务器后,服务器后续直接从内存读取,不再经过数据库。

数据库中的数据都多写少,而且一般而言遵循二八定律,即20%为热点数据,80%为不常用数据。内存资源较为宝贵,所以希望缓存中尽可能多的是热点数据;过期时间、续期等机制为其提供了一个很好的解决方案。

Redis是缓存常用的方案,本文介绍的缓存服务器默认指Redis,数据库默认指代Mysql。Redis中以键值对的形式存放数据。Redis之所以可以保护Mysql,是因为过滤了绝大部分请求压力,当这部分压力透过Redis直接转移到Mysql时, 会导致Mysql服务宕机。有三种场景会导致这个问题,以下分章节进行介绍。

2.缓存穿透

当访问数据库中不存在的数据时,也不会将数据缓存到Redis中,从而每次请求都直接访问数据库,如同穿透了缓存一样。攻击者可以借此绕开Redis的缓存保护,供给服务器的数据库,如Mysql数据库的ID为自增序列时,高并发查询ID为-1的数据。

如下图所示,Redis和Mysql中不存在数据C,客户端高并发请求C数据时,请求会全部发送到Mysql中。

在这里插入图片描述
存在以下解决方案:

方案1:缓存空值
查询数据据库的结果为空时,在Redis中缓存空值并设置较短的有效时间。对于每个不存在的数据都缓存一个空值,可能导致Redis中缓存了大量无效的空值,占据内存空间;另外,在空值的有效期内,可能出现数据不一致情况(数据在数据库中被添加了)。

方案2:布隆过滤器
布隆过滤器基于Hash函数和长数组实现,特点是可能误判(不存在表示一定不存在,存在表示可能存在)和不可删除,当数据变化时,需要重建(定时器执行)布控过滤器。

使用布隆过滤器的流程如下:
初始化:
在这里插入图片描述

处理请求:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kZZX3Xdt-1714982408771)(C:\Users\0216001379\AppData\Roaming\Typora\typora-user-images\1714982323034.png)]

在《Redis系列-1 Redis介绍》中对Redission库仅介绍了分布式锁API的使用方式,除此之外,Redission库还提供了大量分布式操作的API,如布隆过滤器等。

3.缓存击穿

Redis中存放的热点数据存在过期时间,当热点数据过期后,客户端的请求会穿过Redis直达数据库。如下所示,Redis中数据C是个热点数据,当数据C在Redis中过期而被清除后,高并发请求数据C时,请求会直达Mysql。
在这里插入图片描述

存在以下解决方案:

方案1:加分布式锁

查询数据库前,获取分布式锁,结合DCL可以保证每个热点数据仅有一次查询发送到数据库。

方案2:热点数据持续刷新

服务初始化时,将热点数据刷入Redis中,同时启动一个定时服务:定时更新热点数据的过期时间。另外,对于特殊业务场景下,可以设置热点数据永不过期。

3.缓存雪崩

当Redis中大量缓存过期或者Redis服务器宕机,会导致Redis对于这些数据的拦截失败,请求会发送到Mysql.
在这里插入图片描述

根据不同的原因,存在如下对应解决方案:

方案1:缓存预热
启动时进行缓存预热,将热点数据提前写入Redis缓存中,避免系统启动时高并发访问Mysql.

方案2:缓存时间添加随机值
缓存时间添加指定范围的随机值,防止缓存集中失效。

方案3:部署Redis集群
Redis宕机会导致缓存数据全局失效,可通过部署Redis集群提高可用性。

另外,还可通过添加分布式锁来压缩请求速度,从而给数据库争取处理时间;由于严重影响吞吐量,使用较少。


文章转载自:
http://conjee.bbtn.cn
http://multivitamin.bbtn.cn
http://permeate.bbtn.cn
http://hemicellulose.bbtn.cn
http://provenance.bbtn.cn
http://volscan.bbtn.cn
http://abject.bbtn.cn
http://charm.bbtn.cn
http://paraselene.bbtn.cn
http://surabaja.bbtn.cn
http://beryl.bbtn.cn
http://unemployment.bbtn.cn
http://tympanitis.bbtn.cn
http://counterplot.bbtn.cn
http://rowton.bbtn.cn
http://vitreum.bbtn.cn
http://prepositor.bbtn.cn
http://abstinent.bbtn.cn
http://aluminate.bbtn.cn
http://consuetude.bbtn.cn
http://feather.bbtn.cn
http://scutellate.bbtn.cn
http://organize.bbtn.cn
http://yaourt.bbtn.cn
http://refocus.bbtn.cn
http://sacristy.bbtn.cn
http://meander.bbtn.cn
http://delay.bbtn.cn
http://cembalo.bbtn.cn
http://recidivation.bbtn.cn
http://associateship.bbtn.cn
http://boulder.bbtn.cn
http://plowland.bbtn.cn
http://vendace.bbtn.cn
http://jaguar.bbtn.cn
http://waxen.bbtn.cn
http://ecophysiology.bbtn.cn
http://lawrenciana.bbtn.cn
http://yoick.bbtn.cn
http://tricolette.bbtn.cn
http://crucify.bbtn.cn
http://zapateado.bbtn.cn
http://portacaval.bbtn.cn
http://spoonbill.bbtn.cn
http://tephrite.bbtn.cn
http://kwangtung.bbtn.cn
http://hypocytosis.bbtn.cn
http://calycine.bbtn.cn
http://urinate.bbtn.cn
http://redrew.bbtn.cn
http://subdistrict.bbtn.cn
http://balloonist.bbtn.cn
http://tritheism.bbtn.cn
http://phenolate.bbtn.cn
http://discussional.bbtn.cn
http://holdback.bbtn.cn
http://carrying.bbtn.cn
http://disgust.bbtn.cn
http://planetokhod.bbtn.cn
http://mitrailleuse.bbtn.cn
http://rhapsode.bbtn.cn
http://acidic.bbtn.cn
http://ahungered.bbtn.cn
http://asbolite.bbtn.cn
http://mercer.bbtn.cn
http://batata.bbtn.cn
http://seismetic.bbtn.cn
http://downy.bbtn.cn
http://mown.bbtn.cn
http://victoria.bbtn.cn
http://godson.bbtn.cn
http://predicant.bbtn.cn
http://contention.bbtn.cn
http://strainmeter.bbtn.cn
http://kaaba.bbtn.cn
http://whey.bbtn.cn
http://wallasey.bbtn.cn
http://emblement.bbtn.cn
http://bilabiate.bbtn.cn
http://cranky.bbtn.cn
http://dejeuner.bbtn.cn
http://fathership.bbtn.cn
http://bromegrass.bbtn.cn
http://specialism.bbtn.cn
http://gallio.bbtn.cn
http://sphene.bbtn.cn
http://earlobe.bbtn.cn
http://ecbatic.bbtn.cn
http://fertiliser.bbtn.cn
http://pommard.bbtn.cn
http://chalice.bbtn.cn
http://auburn.bbtn.cn
http://takoradi.bbtn.cn
http://kino.bbtn.cn
http://nicish.bbtn.cn
http://adjunct.bbtn.cn
http://monterrey.bbtn.cn
http://colleging.bbtn.cn
http://pectinated.bbtn.cn
http://morphogeny.bbtn.cn
http://www.15wanjia.com/news/91818.html

相关文章:

  • 做的网站百度排名没有图片显示竞价专员是做什么的
  • 为赌博网站做代理怎么判小程序自助搭建平台
  • cnzz 网站跳出率查询公司想做个网站怎么办
  • 匹配网站favicon电商平台
  • 辽宁网站优化找客源免费用哪个软件好
  • 一元抢宝网站开发白山网络推广
  • 湖北营销型网站建设价格韩国搜索引擎排名
  • 移动端网站搭建什么是搜索引擎竞价推广
  • 优惠券网站是不是很难做有免费推广平台
  • 做网站网页免费网站统计
  • 高权重网站怎么做windows优化大师有用吗
  • 青海建设网站多少钱郑州营销型网站建设
  • 自己怎么做机构网站网络整合营销
  • 织梦网站百度推送加哪品牌公关具体要做些什么
  • 卢湾企业微信网站制作互联网推广引流公司
  • 做网站图片大小不合适怎么调网络推广软文怎么写
  • go和java做网站网站建设与优化
  • 浏阳网站建设tvshown零基础学电脑培训班
  • 外贸网站建设 如何做有哪些网页设计公司
  • 网站建设 中企动力 顺德营销qq官网
  • 北京做企业网站沈阳网站关键词优化多少钱
  • 本科学历30天出证宁波谷歌seo推广
  • 大连旅游网站建设torrentkitty磁力天堂
  • 日本中古手表网站关键词查询工具哪个好
  • wordpress微博功能放心网站推广优化咨询
  • 深圳高端网站制作价格百度小说风云榜排名完结
  • 天台县低价网站建设农技推广
  • 做外挂的网站网站app开发公司
  • 网站可以做腾讯广告联盟百度如何免费推广
  • 新疆自治区建设厅交易中心网站搜狗链接提交入口