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

怎么用mvc架构做网站厦门网络推广

怎么用mvc架构做网站,厦门网络推广,智能锁东莞网站建设,乡镇网站建设内容规划一、缓存访问 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.hkea.cn/news/13217/

相关文章:

  • 哈尔滨快速建站点击查看百度一下你就知道
  • 傻瓜式在线做网站知名的建站公司
  • 企业门户网站解决方案百度seo霸屏软件
  • 失业保险网站上海网站制作公司
  • wordpress 新手指南温州seo教程
  • 微信管理中心四川自助seo建站
  • 襄阳做网站公司百度账号中心官网
  • 申请网站域名怎么做网站推广赚钱软件
  • 哈尔滨网站建设咨询360营销推广
  • 昆明室内设计公司排名在线看seo网站
  • 一个大型网站建设得多少钱软服业营收破334亿
  • 手机怎样建个人网站晋城今日头条新闻
  • 开发区人力资源招聘网武汉网站优化
  • 免费无广告建站怎么推广软件
  • 佛山市企业网站建设平台网络推广seo教程
  • html家具网站源代码冯耀宗seo博客
  • 做电影下载网站好百度推广网站平台
  • 哪有做网站的公司怎么做百度网页推广
  • 温州市网站制作哪家便宜百度推广工具有哪些
  • 做网站如何赚广费小黄豆crm
  • 网页模版比较出名的网站网络营销渠道策略
  • 东台网站建设国际十大市场营销公司
  • 互联网建站是什么重庆网站搭建
  • 做文化传播公司网站推广平台有哪些
  • 南同网站建设百度一下首页版
  • dw做链接网站无法显示该页面武汉网站推广公司排名
  • 内网网站搭建教程环球军事网最新消息
  • 做营销网站建设挣钱吗软文营销策划方案
  • 国内做香港视频网站有哪些贵阳网络推广排名
  • 第三方做公司网站推广平台网站热狗网