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

搭建一个网站花多少钱莘庄做网站

搭建一个网站花多少钱,莘庄做网站,十大网络营销成功案例,如何更换网站的logoRedis 的穿透、雪崩、击穿 1、缓存穿透 定义 缓存穿透是指查询一个不存在的数据,由于缓存中没有该数据,每次请求都会直接访问数据库,导致数据库压力过大 产生原因 恶意攻击:攻击者故意请求大量不存在的key,导致请求直…

Redis 的穿透、雪崩、击穿

1、缓存穿透

  • 定义

    • 缓存穿透是指查询一个不存在的数据,由于缓存中没有该数据,每次请求都会直接访问数据库,导致数据库压力过大
  • 产生原因

    • 恶意攻击:攻击者故意请求大量不存在的key,导致请求直接穿透到数据库中
    • 业务逻辑问题:用户查询的数据在数据库中也不存在(如查询不存在的商品ID)
    • 缓存未命中:缓存中存储相关数据,且数据库也没有,导致请求直接到达数据库
  • 解决方法

    1、布隆过滤器

    • 在缓存层前使用布隆过滤器,判断请求的key是否可能存在。如果布隆过滤器判断不存在,直接返回,减少对数据库的访问
    • 注意:布隆过滤器可能有误判(假阳性),但可以有效过滤大量无效请求

    2、缓存空值

    • 对于查询不存在的数据,将空值(如null)缓存到Redis中,并设置较短的过期时间(如30秒),避免重复穿透数据库

    3、参数校验

    • 在接口层对请求参数进行校验,过滤掉明显无效的请求(如负数ID、非法的查询参数)

    4、异步回填

    • 如果数据可能动态生成,可以异步触发数据生成逻辑,并缓存结果,防止频繁穿透

2、缓存雪崩

  • 定义
    • 缓存雪崩是指在某一个时刻,大量缓存key同时失效,或者Redis服务宕机,导致大量请求直接打到数据库,数据库无法承受高并发而崩溃
  • 产生原因
    • 缓存key集中失效:大量key设置了相同的过期时间,导致在同一时间点全部失效
    • Redis服务宕机:Redis集群不可用,所有请求直接访问数据库
    • 高并发场景:在缓存失效或不可用时,系统面临高并发请求,数据库不堪重负
  • 解决方法
    • 随机化过期时间
      • 在设置缓存过期时间时,添加随机偏移量(如在基础时间上加减几秒),避免大量key同时失效
    • 热点缓存时间延长
      • 对于热点数据,延长缓存时间,或设置为永不过期,定期异步更新
    • 高可用架构
      • 部署Redis集群(如主从复制、哨兵模式、Cluster模式),确保Redis服务高可用,防止单点故障
    • 降级与限流
      • 在数据库层实现限流机制(如通过Nginx或网关限制请求频率)
      • 提供降级方案,如返回默认值或提示用户稍后重试,减少数据库压力
    • 分布式锁
      • 在缓存失效时,使用分布式锁(如Redis锁或Zookeeper锁)限制同时访问数据库的线程数,防止数据库被压垮

3、缓存击穿

  • 定义

    • 缓存击穿是指某个热点key在失效的瞬间,大量并发请求同时访问该key,导致这些请求直接打到数据库上,造成数据库压力激增
  • 产生原因

    • 热点key失效:某个高频访问的key(如热门商品信息)在缓存中失效,且此时有大量并发请求
    • 高并发访问:热点数据失效后,大量线程同时查询数据库,导致数据库瞬间负载过高
  • 解决方法

    1、热点key永不过期

    • 对于热点数据,设置缓存永不过期,或通过异步任务定期刷新缓存内容

    2、分布式锁

    • 在缓存失效时,使用分布式锁(如redis的SEINX或Redisson)限制只有一个线程去查询数据库,其余线程等待缓存更新
    • 示例流程
      • 1、线程A发现缓存失效,尝试获取锁
      • 2、获取锁成功后,查询数据库并更新缓存
      • 3、其他线程等待锁释放后直接读取缓存

    3、异步加载

    • 在热点key接近失效时,提前异步触发缓存刷新,减少失效瞬间的请求压力

    4、热点隔离

    • 将热点数据单位存储到专用的Redis实例或本地缓存(如Caffeine、Guava Cache),降低对主数据库的冲击

总结对比

问题定义产生原因解决方法
缓存穿透查询不存在的数据,穿透到数据库恶意请求、数据不存在、缓存未命中布隆过滤器、缓存空值、参数校验
缓存雪崩大量 key 同时失效或服务宕机集中失效、Redis 宕机、高并发随机过期时间、高可用、限流降级
缓存击穿热点 key 失效,大量请求打到数据库热点 key 失效、高并发分布式锁、永不过期、异步刷新、热点隔离

文章转载自:

http://xeFwI2cj.Lxhrq.cn
http://9EkRo6O5.Lxhrq.cn
http://A1SoPoe4.Lxhrq.cn
http://J3rBTFA0.Lxhrq.cn
http://ihtnZkCU.Lxhrq.cn
http://DRXflvI4.Lxhrq.cn
http://55o891tj.Lxhrq.cn
http://tTfKip3w.Lxhrq.cn
http://OwmjYcWM.Lxhrq.cn
http://GLVoZQNQ.Lxhrq.cn
http://9zYuyvzR.Lxhrq.cn
http://aWz9msN7.Lxhrq.cn
http://ZuPdHnkV.Lxhrq.cn
http://Xqut6ZQR.Lxhrq.cn
http://M0WQZAvx.Lxhrq.cn
http://HKJMbW0A.Lxhrq.cn
http://p73yG97W.Lxhrq.cn
http://IGVDJMT0.Lxhrq.cn
http://Xi3CNe9H.Lxhrq.cn
http://pXiUwD4c.Lxhrq.cn
http://lVEOyOQn.Lxhrq.cn
http://I9wugB0T.Lxhrq.cn
http://ha2DU97b.Lxhrq.cn
http://lMmNsdTj.Lxhrq.cn
http://SJzf6YRI.Lxhrq.cn
http://3kidmr8E.Lxhrq.cn
http://8UQDsB1N.Lxhrq.cn
http://neeOhdQl.Lxhrq.cn
http://tlncBDY2.Lxhrq.cn
http://gV54EWde.Lxhrq.cn
http://www.dtcms.com/wzjs/674855.html

相关文章:

  • wordpress建站方向策划书怎么写
  • 工地招聘网站已有网站可以做服务器吗
  • 邹带芽在成武建设局网站公司网站怎么能被百度收录
  • 深圳市富通建设工程有限公司网站深圳坪山邮政编码
  • 一个域名可以绑定几个网站深圳外贸网站设计公司
  • 企业网站用什么域名wordpress iis 404页面
  • 做适合漫画网站的图片推广排名
  • 网站建立与推广建设网站 可以用3层架构吗
  • 小米商城网站建设ssh蒙语网站开发
  • 海外网站有哪些网页首站
  • 微信公众号网站开发本地调试内网建设网站外网访问
  • 网站地图seoapp开发技术路线描述
  • 网站建设模板元素是什么wordpress404页面模板
  • 免费自助建手机网站我赢网提供的高水平网页设计师
  • php网站添加验证码淘宝客网站怎么推广
  • 网站服务器地址查询电影网站如何建设
  • 重庆排名优化整站优化html网页设计案例和代码
  • 泰安高端网站建设wordpress hashone
  • 昆山规建设局网站在线做高中试卷的网站
  • 陕西网站备案注销wordpress延迟加载图片
  • 做插画的网站上海网站建设免费推
  • 无锡网站建设和做网站的设计理念
  • 做游戏的外包网站网页设计与制作教程十四五规划
  • 做网站教程和维护网站网页版微信传文件
  • 网站建设的优势qq是哪个公司
  • 做网站备案实名需要钱吗wordpress 历史
  • 山东网站优化推广网站建设用什么服务器
  • 马可波罗网站做外贸营销外贸网站建设案例
  • 人社系统网站一体化建设方案做公司网站的公司有哪些
  • 17zwd一起做业网站威海建设局官方网站