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

做网站兰州产品毕业设计作品网站

做网站兰州,产品毕业设计作品网站,南昌污水厂最新数据,美食网站开发环境一、缓存访问 1、客户端发送请求 2、服务首先会请求 redis,查看请求的内容是否存在 3、redis 将请求结果返回给服务,如果返回的结果有数据则直接返回给客户端;如果没有数据则会继续往下执行 4、服务从数据库中查询请求的数据 5、数据库将…

一、缓存访问

1、客户端发送请求

2、服务首先会请求 redis,查看请求的内容是否存在

3、redis 将请求结果返回给服务,如果返回的结果有数据则直接返回给客户端;如果没有数据则会继续往下执行

4、服务从数据库中查询请求的数据

5、数据库将查询的结果返回给服务

6、如果数据库有返回数据,则将返回的结果添加到 redis

7、将请求到的数据返回给客户端

二、缓存穿透

通过接口访问一个缓存和数据库都不存在的数据。

因为服务出于容错考虑,当请求从持久层查不到数据则不写入缓存,这将导致请求这个不存在的数据每次都要到持久层去查询,失去了缓存的意义。

此时,缓存起不到保护后端持久层的意义,就像被穿透了一样。导致数据库存在被打挂的风险。

解决办法

1、接口请求参数的校验。对请求的接口进行鉴权,数据合法性的校验等;比如查询的 userId 不能是负值或者包含非法字符等。

2、当数据库返回空值时,将空值缓存到 redis,并设置合理的过期时间。

3、布隆过滤器。使用布隆过滤器存储所有可能访问的 key,不存在的 key 直接被过滤,存在的 key 则再进一步查询缓存和数据库。(布隆过滤器存在一定误判情况:当判断不存在时一定不存在,当判断存在时极小可能不存在)

三、缓存击穿

某个热点 key,在缓存过期的一瞬间,同时有大量的请求打进来,由于此时缓存过期了,所以请求最终都会走到数据库,造成瞬时数据库请求量大、压力骤增,导致数据库存在被打挂的风险。

解决办法

1、加互斥锁。当热点 key 过期后,大量的请求涌入时,只有第一个请求能获取锁并阻塞,此时该请求查询数据库,并将查询结果写入 redis 后释放锁。后续的请求直接走缓存。

2、设置缓存不过期或者后台有线程一直给热点数据续期。

四、缓存雪崩

大量的热点数据过期时间相同,导致数据在同一时刻集体失效。造成瞬时数据库请求量大、压力骤增,引起雪崩,导致数据库存在被打挂的风险。

解决办法

1、将热点数据的过期时间打散。给热点数据设置过期时间时加个随机值。

2、加互斥锁。当热点 key 过期后,大量的请求涌入时,只有第一个请求能获取锁并阻塞,此时该请求查询数据库,并将查询结果写入 redis 后释放锁。后续的请求直接走缓存。

3、设置缓存不过期或者后台有线程一直给热点数据续期。

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

相关文章:

  • 外贸电子商务网站如何进行网络推广市场定位
  • 东莞优化seo网站关键词优化腾网站建设
  • 出口网站制作个人网站怎么建立流程
  • 网站建设信(信科网络)微博优惠券网站怎么做
  • 苏州吴江建设局招标网站怎么开发网页
  • 新手建网站教程企业网站建设方案包含
  • 酒店 深圳 网站建设淘宝代运营公司哪家好
  • 网站架构模板广州白云学校网站建设
  • 网站公司市场营销方案全国企业信用信息查询公示系统
  • 右玉网站建设企业解决方案和应对措施
  • 盐山网站免费网站自动跳转
  • wordpress建站教程凌风网站建设项目分工
  • 部门网站建设管理报告做公司做网站有用吗
  • 如何建设影视网站百度推广托管
  • 如何找企业联系做网站网站开发需求收集 模板
  • 网站建设公司电话销售网站验收标准
  • 外贸网站怎么找客户北京建工博海建设有限公司网站
  • 网站制作软件都是什么简约手机网站源码
  • 网站设计开发软件有哪些以下可以制作二维码的网站为
  • 网站服务器平台曲阜企业网站建设
  • 自贡公司做网站网站基础建设和管理暂行办法
  • 零食网站模板网站新闻编辑怎么做
  • 自己的电脑做服务器搭建网站网站正在建设中 给你带来
  • 网站建设的主要工作流程绿色系网站
  • 做微商网站设计旅游网站简介
  • 辽宁住房建设部网站青岛cms模板建站
  • 木材加工公司网站建设网站 公众号 建设方案
  • 没有空间可以做网站吗高密市网站建设
  • 怎样才能做公司的网站vps 网站上传
  • 卓商网站建设公司微山建设局网站