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

大连坐网站wordpress 图片菜单

大连坐网站,wordpress 图片菜单,2018做网站前景如何,古诗网页制作教程一、缓存穿透 缓存穿透是指在使用缓存系统时#xff0c;特定的查询在缓存和数据库中都找不到结果#xff0c;导致每次查询都要访问数据库#xff0c;从而增加数据库的压力#xff0c;降低系统的性能#xff0c;若黑客利用此漏洞进行攻击可能压垮数据库。 当一个查询请求经…一、缓存穿透 缓存穿透是指在使用缓存系统时特定的查询在缓存和数据库中都找不到结果导致每次查询都要访问数据库从而增加数据库的压力降低系统的性能若黑客利用此漏洞进行攻击可能压垮数据库。 当一个查询请求经过缓存系统时缓存先检查是否有缓存的结果如果有则直接返回给客户端如果没有则查询数据库并将结果存入缓存后返回。但是如果查询的数据在数据库中不存在那么每次查询都会通过缓存系统直接访问数据库导致数据库无效查询增加浪费了系统资源。 1.1 缓存穿透发生的条件 应用服务器压力变大redis 命中率降低一直查询数据库使得数据库压力太大而压垮其实 redis 在这个过程中一直平稳运行崩溃的是我们的数据库如 MySQL。 1.2 常见的缓存穿透场景 查询不存在的数据一个用户查询一个不存在的数据由于缓存中没有缓存该数据会访问数据库进行查询。恶意查询如果攻击者故意发送大量不存在的请求试图绕过缓存并导致大量无效的数据库查询请求。数据库会最先崩溃。 1.3 缓存穿透带来的问题 增加数据库负载由于缓存穿透导致大量无效的数据库查询操作增加了数据库的负载可能导致数据库性能下降。 击穿缓存如果缓存中缓存了查询结果为空的键恶意攻击者可以通过大量请求这些不存在的键使缓存中的该键过期从而导致后续请求都直接访问数据库形成缓存击穿。 1.4 解决方案 空结果缓存在缓存中存储空结果的键可以避免缓存穿透防止恶意攻击。 设置可访问的名单白名单使用 bitmaps 类型定义一个可以访问的名单名单 id 作为 bitmaps 的偏移量每次访问和 bitmap 里面的 id 进行比较如果访问 id 不在 bitmaps 里面进行拦截不允许访问。 布隆过滤器Bloom Filter在查询前先通过布隆过滤器快速判断查询的数据是否存在若不存在则不再访问缓存和数据库减轻数据库压力。 进行实时监控当发现 Redis 的命中率开始急速降低需要排查访问对象和访问的数据和运维人员配合可以设置黑名单限制服务。 综上所述缓存穿透是一种常见的缓存问题采取适当的预防措施可以避免对数据库造成不必要的压力并提高系统的性能和稳定性。 二、缓存击穿 缓存击穿是指在使用缓存系统时一个热门的、经常被访问的数据缓存过期或失效时大量并发请求同时涌入直接访问数据库导致数据库负载剧增造成系统性能下降甚至崩溃的情况。 2.1 常见的缓存击穿情况 高并发热门数据某个数据非常热门并且被大量并发请求频繁访问。如果该数据的缓存过期或者被意外清空大量的请求会直接访问数据库导致数据库压力激增。 突发请求在某个时间点突然出现大量请求访问某个数据而该数据的缓存恰好在此时失效导致大量请求绕过缓存直接访问数据库。 2.2 缓存击穿会带来的问题 增加数据库负载大量并发请求同时访问数据库导致数据库性能下降甚至崩溃。 响应时间延长绕过缓存直接访问数据库数据库响应时间增加造成请求的响应时间延长。 2.3 解决方案 预先设置热门数据在 redis 高峰访问之前把一些热门数据提前存入到 redis 里面加大这些热门数据 key 的时长。 加锁或互斥机制在缓存失效时只允许一个请求访问数据库并将结果缓存其他请求等待并从缓存中获取数据。 热点数据永远不过期对于热点数据可以将其缓存时间设置为永不过期或者设置一个合理的较长过期时间确保不会频繁去访问数据库。 异步更新缓存当某个热点数据的缓存过期时可以使用异步任务来更新缓存先返回旧的缓存结果给请求然后在后台异步更新缓存。 限流和降级对于突发的大量请求可以采取限流策略限制并发访问的请求数量或者通过降级策略返回预设的默认值避免数据库负载过大。 实时调整现场监控哪些数据热门实时调整 key 的过期时长。 前置缓存在缓存层之前添加一个前置缓存如CDN等将请求分摊到多个缓存节点减轻热点数据的单一缓存节点压力。 使用锁 就是在缓存失效的时候判断拿出来的值为空不是立即去 load db。 先使用缓存工具的某些带成功操作返回值的操作比如 Redis 的 SETNX去 set 一个 mutex key。 当操作返回成功时再进行 load db 的操作并回设缓存最后删除 mutex key 当操作返回失败证明有线程在 load db当前线程睡眠一段时间再重试整个 get 缓存的方法。 三、缓存雪崩 缓存雪崩是指在使用缓存系统时大量缓存失效或过期导致原本应该由缓存提供的数据都需要从数据库中重新加载从而引发数据库压力剧增、性能下降甚至系统崩溃的现象。 缓存雪崩与缓存击穿的区别在于这里针对很多 key 缓存前者则是某一个 key 正常访问。  3.1 常见的缓存雪崩情况 缓存批量失效多个缓存键的过期时间或失效时间几乎同时到达导致大量缓存同时失效。 重启或故障缓存系统出现重启、宕机或故障导致缓存中的所有数据一时无法访问请求直接访问数据库。 数据库压力当缓存失效后大量请求同时涌入数据库因为数据库无法承受如此大的压力而导致性能下降 3.2 缓存雪崩带来的问题 数据库压力过大大量请求直接访问数据库导致数据库处理能力不足出现性能问题甚至引发数据库崩溃。 响应时间延长由于缓存失效请求需要直接访问数据库导致响应时间延长。 3.3 解决方案 构建多级缓存架构nginx 缓存 redis 缓存 其他缓存ehcache 等。使用锁或队列用加锁或者队列的方式来保证不会有大量的线程对数据库一次性进行读写从而避免失效时大量的并发请求落到底层存储系统上该方法不适用高并发情况。设置过期标志更新缓存记录缓存数据是否过期设置提前量如果过期会触发通知另外的线程在后台去更新实际 key 的缓存。将缓存失效时间分散开设置随机过期时间比如可以在原有的失效时间基础上增加一个随机值比如 1-5 分钟随机这样每一个缓存的过期时间的重复率就会降低就很难引发集体失效的事件。 二级缓存机制使用多级缓存将数据同时存储到多个缓存层一级缓存失效时可以从二级缓存中获取数据避免所有缓存同时失效。 缓存预热在系统低峰期提前加载热门的缓存数据避免在高峰期同时加载大量缓存数据。 共同点 都会导致大量请求直接访问数据库增加数据库负载和降低系统性能。都与缓存失效或过期相关导致缓存无法提供预期的数据。
http://www.zqtcl.cn/news/98481/

相关文章:

  • 怎样做自己介绍网站昆明网红打卡地有哪些地方
  • 一个外国人做汉字网站广州近期流行的传染病
  • 做pc端网站新闻pdf 网站建设
  • 盱眙网站建设棋牌软件定制开发
  • struts2 做的网站南京做网站优化
  • 网站设计的安全尺寸wordpress qqoq主题
  • 网站建设500错误代码网站文章超链接怎么做
  • 网站建设尺寸凡科建站弊端
  • 企业网站建设模板多少钱在哪里建网站免费
  • 盐城网站建设咨询优秀vi设计
  • 网站里面内外链接如何做北京pk10网站建设
  • 网站布局策划的流程百度知道入口
  • 个人网站设计毕业设计论文上海百度seo优化
  • 展台设计网站都有哪些拓者设计吧手机版
  • 河南省级建设主管部门网站免费推广平台哪个好
  • wordpress禁止自动升级seo实战密码怎么样
  • 福永网站建设公司如何利用个人nas做网站
  • 北京网站seo外包wordpress心情
  • 租用服务器一般是谁帮助维护网站安全网站如何看是哪家公司做的
  • 戴尔网站建设的特点开创者wordpress素材
  • 网站假设公司排名不用囤货
  • 有关网站建设合同织梦珠宝网站模板
  • 月牙河做网站公司电商网站开发成本
  • iis7建立网站注册公司地址虚拟地址怎么申请
  • 响应式网站开发的想要去国外网站买东西怎么做
  • 网站建设开发有什么好处百度网盘0基础网站开发教程
  • 桂林整站优化青岛网站制作哪里有
  • 织梦cms手机网站源码天天想你视频免费观看西瓜
  • 怎么做网站弄网盟邯郸超速云_网站建设
  • 桂阳做网站的软件定制开发外包wordpress电子商务插件