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

网站建设的3个阶段网站建设的er图怎么画

网站建设的3个阶段,网站建设的er图怎么画,新网站怎么运营,天元建设集团有限公司网站前言1. 什么是缓存击穿?2. 如何解决缓存击穿?怎么做?方案1: 定时刷新方案2: 自动续期方案3: 定时续期 如何选? 前言 当我们使用redis做缓存的时候,查询流程一般是先查询redis,如果redis未命中,再查询MySQL,将MySQL查询的数据同步到redis(回源),最后返回数据 流程图 为什…

    • 前言
    • 1. 什么是缓存击穿?
    • 2. 如何解决缓存击穿?
      • 怎么做?
          • 方案1: 定时刷新
          • 方案2: 自动续期
          • 方案3: 定时续期
      • 如何选?

前言

  • 当我们使用redis做缓存的时候,查询流程一般是先查询redis,如果redis未命中,再查询MySQL,将MySQL查询的数据同步到redis(回源),最后返回数据

流程图
在这里插入图片描述
为什么使用 redis 作为缓存: 减少 DB 层 重复数据查询 的压力

  • redis 有 10 万QPS
  • DB 只有几万(MySQL 1 万 QPS)

1. 什么是缓存击穿?

热 key 失效,当一个访问量特别高的一行数据在 redis 中失效,所有的请求全部打到 DB 层,可能直接将 DB 打爆

2. 如何解决缓存击穿?

两个方向:

  1. 热 key 不失效
  2. 当热 key 失效(状态),同时只放一个请求去回源更新redis,其他请求(等待回源完成再取 redis 的数据或者返回空)

怎么做?

方案1: 定时刷新
  1. 每行数据除了数据本身以外储存一个更新标记,并且更新标记的过期时间小于数据的过期时间
    case: 数据过期时间 10 分钟,数据的更新标记的过期时间 10 秒
  2. 每次查询数据先检查更新标记是否存在(使用 redis 的 SET NX PX 命令),写失败意味着不需要更新,写成功意味着需要更新.
  3. 判断第二步的执行结果:
    • 成功(回源查询 DB 数据并更新到 redis,同时重置过期时间);
    • 失败(直接取 redis 的数据,如果取 redis 的数据也失败,则返回空(只放一个请求回源更新,其他等待回源完成再取 redis 的数据或者返回空))

总结: 热数据(不断访问)会根据更新标记自动的刷新数据,而不会过期(热数据永不过期)

方案2: 自动续期

使用 lua 脚本

  1. 先查询数据
  2. 如果命中,重置数据的过期时间,并返回数据
  3. 如果未命中: 设置一个空值(当 redis 没有数据,只允许一个请求回源),并回源 DB 层查询并更新到redis

总结: 使用 lua 脚本在命中redis 数据的时候就自动对数据的过期时间进行续期,实现热key 的过期
但是此方案不会自动更新数据,需要有其他的更新数据的逻辑(可参考redis 与 DB 的数据一致性)支持

方案3: 定时续期
  1. 对每行数据单独储存一个续期标记
  2. 每次查询数据是先检查更新标记(SET NX PX)
    • 如果成功
      • 如果数据存在redis,重置过期时间;
      • 不存在设置一个空值并回源 DB 层查询更新(只放行一个请求回源更新)
    • 如果失败(直接获取数据)

总结: 使用续期标记实现热数据的定时续期,实现热 key 的不过期
但是此方案不会自动更新数据,需要有其他的更新数据的逻辑(可参考redis 与 DB 的数据一致性)支持

如何选?

  1. 方案 1: 定时刷新
    a. 天然包含数据一致性(每 更新标记的过期时间(10s) 会自动刷新数据)
    b. 足够的简单可靠
    c. 如果项目对一致性要求不高的情况下可以选用

  2. 方案 2: 自动续期
    a. 单个的逻辑很简单,并且是独立(与一致性)运行的,可自由搭配一致性策略
    b. 如果项目对数据一致性有特殊要求,或者已经实现了一致性策略,可以选用

  3. 方案 3: 定时续期
    a. 单个的逻辑较为复杂(对比方案 2), 并且是独立(与一致性)运行的,可自由搭配一致性策略
    b. 如果项目对数据一致性有特殊要求,或者已经实现了一致性策略,可以选用方案 2


文章转载自:

http://1GEnh4Xh.gsksm.cn
http://movfEPbW.gsksm.cn
http://oE4xTVA8.gsksm.cn
http://T9cvm6Cl.gsksm.cn
http://3LfCn2YQ.gsksm.cn
http://4Rpiutls.gsksm.cn
http://ZQslsaDb.gsksm.cn
http://HMPoscKJ.gsksm.cn
http://uOPyH8Xd.gsksm.cn
http://wSezlYt7.gsksm.cn
http://9UFDHssI.gsksm.cn
http://WUicSXMV.gsksm.cn
http://hKiRqXiD.gsksm.cn
http://ANiHJOel.gsksm.cn
http://t25UDPH8.gsksm.cn
http://zOiu35WT.gsksm.cn
http://JnGGUIau.gsksm.cn
http://WU9wlbdy.gsksm.cn
http://cdxtRP3q.gsksm.cn
http://sYkfvQxs.gsksm.cn
http://bUL2uedG.gsksm.cn
http://ohYrknQM.gsksm.cn
http://Ju2PgFXN.gsksm.cn
http://DxD657Ux.gsksm.cn
http://FdoCS9Ri.gsksm.cn
http://Jl51IPjM.gsksm.cn
http://B0WzV3qD.gsksm.cn
http://FgfSjkGz.gsksm.cn
http://2VEsaEUQ.gsksm.cn
http://z3bXMA1a.gsksm.cn
http://www.dtcms.com/wzjs/726987.html

相关文章:

  • 西安电子商务网站建设微信到wordpress
  • 安徽城乡建设厅网站焊工证查询云浮seo
  • 厦门专门建设网站的公司网页美工设计图片
  • asp.net网站开发上福建住房和城乡建设网站证书查询
  • 在线做生存曲线的网站有哪些什么是网络营销产生的基础
  • 受欢迎的佛山网站制作搜索引擎优化的核心是
  • 海外设计网站建设建筑钢模板
  • 极速建站温州比较好的设计公司
  • 中企动力做的网站价格区间展馆设计效果图图片
  • 网站名字 备案dw建设网站步骤
  • 隧道建设期刊网站进不去网站建设 青海
  • 揭阳网站建设价格网站后台cms
  • 成品网站制作公司Wordpress电脑版需要下载吗
  • 在阿里云做的网站怎么进后台alexa排名查询的特点
  • 怎么做水果网站项目立项流程
  • 嘉兴网站建设推荐网站规划建设实训报告
  • 如何让人帮忙做网站如何用手机编程游戏
  • 商业网站开发实训心得体会范文软文世界官网
  • 网站建设与管理难学吗wordpress 带分页的主题
  • 重庆智能网站建设推荐母婴设计网站
  • 关于书店电商网站建设的心得昆山网站建设公司苏州爬虫科技
  • 南京定制网站建设怎么收费Vantage wordpress主题
  • 百度开放云做网站自助建站的优点与缺点
  • wow做宏的网站哈尔滨在线制作网站
  • 青岛做网站费用溧阳网站建设制作
  • 技术网站源码wordpress南宁专业网站开发
  • 用psd做的买书网站百度旗下13个app
  • 企业网站建设市场怎么做网站的ico
  • 网站关键词分布公司网站主要几方面
  • 网站建设话术开场白推广营销方式有哪些