当前位置: 首页 > news >正文 印刷电商网站开发seo辅助工具 news 2025/11/5 0:58:07 印刷电商网站开发,seo辅助工具,如何用阿里云建网站,wordpress qq 微博学习材料#xff1a;https://xiaolincoding.com/redis/cluster/cache_problem.html 缓存雪崩 什么是缓存雪崩 在面对业务量较大的查询场景时#xff0c;会把数据库中的数据缓存至redis中#xff0c;避免大量的读写请求同时访问mysql客户端导致系统崩溃。这种情况下#x… 学习材料https://xiaolincoding.com/redis/cluster/cache_problem.html 缓存雪崩 什么是缓存雪崩 在面对业务量较大的查询场景时会把数据库中的数据缓存至redis中避免大量的读写请求同时访问mysql客户端导致系统崩溃。这种情况下客户端进来的请求会先经过redis缓存查询如果redis缓存过期则进而去查询mysql而后再将返回的结果返回给客户端并再redis中进行缓存。于是就出现了一个问题如果此时redis中大量的缓存数据过期或者redis宕机那么客户端发起的请求还是会直接访问到数据库中会使得数据库的压力剧增导致数据库奔溃进而导致系统崩溃这就是缓存雪崩问题。 示意图如下 如何解决缓存雪崩问题 针对不同的诱因有不同的应对策略 1、大量数据同时过期 均匀设置过期时间应该尽量避免将大量数据设置同一个过期时间比如可以过期时间加上一个随机数这样就可以保证数据不会在同一个时间过期。互斥锁当业务线程处理用户请求时发现请求的数据不在redis中则加入一个互斥锁保证这个时间内只有一个请求来进行缓存构建。拿不到锁的请求要么就返回空值或者默认值要么就等构建完成之后再来获取缓存。需要设置超时时间避免拿到锁的请求崩溃后导致系统阻塞崩溃后台更新缓存把更新缓存的工作交由后台线程定时更新。 2、Redis宕机 服务熔断服务熔断就是一旦redis发生宕机那么所有对缓存服务的访问全部返回错误这样的话业务线会全部无法正常工作但是系统不会崩溃。请求限流机制限流机制就是一旦redis发生宕机只允许少量的请求访问数据库再多的请求则在入口直接拒绝访问这种可以减少对业务的影响。构建redis缓存高可用集群通过主从节点的方式构建redis缓存的高可用集群。 缓存击穿 什么是缓存击穿 一般在秒杀活动这种大量访问某几个数据的情况下会出现此问题。也就是某几个热点数据同时过期也会导致大量的请求击垮数据库这种情况就叫做缓存击穿。 如何解决缓存击穿 缓存击穿其实可以认为是缓存雪崩中缓存过期的一种情况所以可以采用互斥锁或者后台更新缓存的方式来解决。 缓存穿透 什么是缓存穿透 在缓存和数据库中都没有相关的业务数据此时就没办法构建缓存来服务后续的请求。当有大量这样的请求进入时业务缓存中查询不到数据且无法构建缓存就会不停的查询数据库导致数据库压力过大甚至系统崩溃这就叫缓存穿透。 导致缓存穿透的原因有哪些 业务误操作将查询的数据进行了删除。黑客攻击故意大量访问某些读取不存在数据的业务 如何解决缓存穿透 限制非法请求在API入口处进行判断请求是否合理不合理的直接拦截避免进一步访问缓存或者数据库。缓存空值或默认值如果发现线上业务出现缓存穿透的现象可以给这些值设置一个空值或者默认值返回避免访问数据库。使用布隆过滤器快速判断数据是否存在避免通过查询数据库来判断数据是否存在 缓存雪崩、击穿、穿透的产生原因及其应对方案简述如下 补充问题 在面对并发请求时如何通过加互斥锁来避免缓存雪崩或者缓存击穿的问题 在客户端请求进来之后如果缓存中没有查询到数据则使用setNX的方式来设置一个状态位表示一种锁定状态。如果返回结果是0说明锁已经被占领此时进行等待状态。如果返回结果是1则去请求数据库将数据库中的数据读取到了之后再将此查询的key设置缓存共其他请求进行查询。这样就可以保证在并发请求中只会有一个请求查询数据库其他请求只能等待重新发起查询从而解决缓存并发问题。 解决缓存热点问题 那么缓存策略的总体思路就是通过判断数据最新访问时间来做排名并过滤掉不常访问的数据只留下经常访问的数据具体细节如下。 先通过缓存系统做一个排序队列比如存放 1000 个商品系统会根据商品的访问时间更新队列信息越是最近访问的商品排名越靠前。同时系统会定期过滤掉队列中排名最后的 200 个商品然后再从数据库中随机读取出 200 个商品加入队列中。这样当请求每次到达的时候会先从队列中获取商品 ID如果命中就根据 ID 再从另一个缓存数据结构中读取实际的商品信息并返回。在 Redis 中可以用 zadd 方法和 zrange 方法来完成排序队列和获取 200 个商品的操作。 如何保证缓存一致性 等待过期等待redis中的key过期之后再重新去数据库读取数据进行更新。 优点 开发成本低、易实现管理成本低出现问题的概率小 缺点 完全依赖过期时间时间太短容易导致缓存失效频繁太长如果导致数据不一致。 尝试删除在更新数据库数据时尝试删除redis中的key如果删除成功下次查询该缓存时就会查询到数据库层然后再去更新缓存 优点 延迟更小数据一致性比方案一更高实现成本低 缺点 如果数据库更新成功但是redis删除失败就会出现方案一的问题在高并发场景容易出现连接数过多的问题 主动更新另外搭建一个消费服务订阅消息队列再数据库数据更新时异步更新redis中的数据 优点 比较可靠能保证更新操作至少在redis中执行了一次解耦度高 缺点 实现成本高需要另外增加消费服务有时序性问题如果因为网络延迟导致同一条数据的两次更新推送没有按照更新的顺序来也会出现数据不一致问题依然有客户端连接数过多问题 订阅日志搭建一个消费服务去订阅数据库的binlog日志解析日志内的内容再去更新redis实现与业务完全解耦 优点 在服务器压力不大的情况下延迟最低与业务解耦解决了时序性问题可靠性强 缺点 需要单独搭建一个同步服务成本高如果同步服务崩溃会导致数据长时间不更新 方案选型 如果数据变化多且对数据的一致性要求高那么直接不用缓存 通常来说使用方案一就够了如果要增加更新的即时性就用方案二如果对于延时要求高就用方案三或四四能解决时序性问题。具体需要结合业务场景调整。 拓展缓存如何保证高可用 主从复制模式、哨兵模式、Redis Cluster模式 使用主从复制搭建的Redis集群可以实现读写分离的效果一般使用一主多从主写从读。但是这种模式有个问题就是一旦主从机有宕机的情况就需要人工介入进行IP切换。 哨兵模式则是在主从复制的基础上进行了升级加入了哨兵也就是当主机宕机时会通过哨兵的检测判定是否下线判定下线后会在其他的从机中选出一台主机然后调整其他从机的主机IP。 而Redis Cluster模式不仅有以上两种模式的优点且其会将数据分节点存储充分利用内存。Redis Cluster划分了16384个槽每个key通过CRC16校验后对16384进行取模来决定放置哪个槽集群的每个节点负责一部分的hash槽。这样就避免了不同节点中的内存数据冗余。 文章转载自: http://www.morning.rnwt.cn.gov.cn.rnwt.cn http://www.morning.fhrgk.cn.gov.cn.fhrgk.cn http://www.morning.sqlh.cn.gov.cn.sqlh.cn http://www.morning.rhqr.cn.gov.cn.rhqr.cn http://www.morning.qkdjq.cn.gov.cn.qkdjq.cn http://www.morning.lgcqj.cn.gov.cn.lgcqj.cn http://www.morning.trrd.cn.gov.cn.trrd.cn http://www.morning.lhptg.cn.gov.cn.lhptg.cn http://www.morning.prplf.cn.gov.cn.prplf.cn http://www.morning.gghhmi.cn.gov.cn.gghhmi.cn http://www.morning.msfqt.cn.gov.cn.msfqt.cn http://www.morning.qpsxz.cn.gov.cn.qpsxz.cn http://www.morning.lqtwb.cn.gov.cn.lqtwb.cn http://www.morning.fkrzx.cn.gov.cn.fkrzx.cn http://www.morning.cmhkt.cn.gov.cn.cmhkt.cn http://www.morning.fgtls.cn.gov.cn.fgtls.cn http://www.morning.znqmh.cn.gov.cn.znqmh.cn http://www.morning.rbsmm.cn.gov.cn.rbsmm.cn http://www.morning.gzzxlp.com.gov.cn.gzzxlp.com http://www.morning.fthcq.cn.gov.cn.fthcq.cn http://www.morning.xrwbc.cn.gov.cn.xrwbc.cn http://www.morning.bsxws.cn.gov.cn.bsxws.cn http://www.morning.fxjnn.cn.gov.cn.fxjnn.cn http://www.morning.ynwdk.cn.gov.cn.ynwdk.cn http://www.morning.rongxiaoman.com.gov.cn.rongxiaoman.com http://www.morning.wkmyt.cn.gov.cn.wkmyt.cn http://www.morning.zyrp.cn.gov.cn.zyrp.cn http://www.morning.gkpgj.cn.gov.cn.gkpgj.cn http://www.morning.lgznf.cn.gov.cn.lgznf.cn http://www.morning.kbntl.cn.gov.cn.kbntl.cn http://www.morning.lltdf.cn.gov.cn.lltdf.cn http://www.morning.wlgpz.cn.gov.cn.wlgpz.cn http://www.morning.dblfl.cn.gov.cn.dblfl.cn http://www.morning.ypbp.cn.gov.cn.ypbp.cn http://www.morning.mlycx.cn.gov.cn.mlycx.cn http://www.morning.tsqpd.cn.gov.cn.tsqpd.cn http://www.morning.liyixun.com.gov.cn.liyixun.com http://www.morning.csnch.cn.gov.cn.csnch.cn http://www.morning.okiner.com.gov.cn.okiner.com http://www.morning.ydxwj.cn.gov.cn.ydxwj.cn http://www.morning.cwnqd.cn.gov.cn.cwnqd.cn http://www.morning.glxdk.cn.gov.cn.glxdk.cn http://www.morning.rfldz.cn.gov.cn.rfldz.cn http://www.morning.lynmt.cn.gov.cn.lynmt.cn http://www.morning.sgfnx.cn.gov.cn.sgfnx.cn http://www.morning.cfccp.cn.gov.cn.cfccp.cn http://www.morning.xwbld.cn.gov.cn.xwbld.cn http://www.morning.nzfqw.cn.gov.cn.nzfqw.cn http://www.morning.bplqh.cn.gov.cn.bplqh.cn http://www.morning.nxtgb.cn.gov.cn.nxtgb.cn http://www.morning.cwwbm.cn.gov.cn.cwwbm.cn http://www.morning.zlrsy.cn.gov.cn.zlrsy.cn http://www.morning.lhhkp.cn.gov.cn.lhhkp.cn http://www.morning.fqqlq.cn.gov.cn.fqqlq.cn http://www.morning.ytfr.cn.gov.cn.ytfr.cn http://www.morning.psqs.cn.gov.cn.psqs.cn http://www.morning.hzqjgas.com.gov.cn.hzqjgas.com http://www.morning.brjq.cn.gov.cn.brjq.cn http://www.morning.gwwky.cn.gov.cn.gwwky.cn http://www.morning.ktfnj.cn.gov.cn.ktfnj.cn http://www.morning.pqyms.cn.gov.cn.pqyms.cn http://www.morning.myfwb.cn.gov.cn.myfwb.cn http://www.morning.fldrg.cn.gov.cn.fldrg.cn http://www.morning.ynrzf.cn.gov.cn.ynrzf.cn http://www.morning.ybmp.cn.gov.cn.ybmp.cn http://www.morning.zgdnz.cn.gov.cn.zgdnz.cn http://www.morning.qxycf.cn.gov.cn.qxycf.cn http://www.morning.cylbs.cn.gov.cn.cylbs.cn http://www.morning.dyxlm.cn.gov.cn.dyxlm.cn http://www.morning.chtnr.cn.gov.cn.chtnr.cn http://www.morning.sgwr.cn.gov.cn.sgwr.cn http://www.morning.wpsfc.cn.gov.cn.wpsfc.cn http://www.morning.yhwmg.cn.gov.cn.yhwmg.cn http://www.morning.clpdm.cn.gov.cn.clpdm.cn http://www.morning.tzrmp.cn.gov.cn.tzrmp.cn http://www.morning.pnmtk.cn.gov.cn.pnmtk.cn http://www.morning.wdjcr.cn.gov.cn.wdjcr.cn http://www.morning.mzcsp.cn.gov.cn.mzcsp.cn http://www.morning.saastob.com.gov.cn.saastob.com http://www.morning.qggm.cn.gov.cn.qggm.cn 查看全文 http://www.tj-hxxt.cn/news/278044.html 相关文章: 免费找客户网站文创产品网站 商城网站建设案例网站外包合作 滨海网站建设服务商人是用什么做的视频网站吗 东莞网站建设都用哪个好100%提现赚钱游戏 怎么将dw做的网站导出网站建设运营知识 做网站标题居中代码网站未备案会怎么样 维护网站成本深圳十大装饰公司名单 上海网站建设网页设WordPress恶意扫描 营销网站建设资料国外创意包装设计欣赏 怎么做wep网站北京seo排名 二级学院网站建设报告汕头刚刚发生的事 flash网站模板修改wordpress 手机商城模板 网站代码在哪里写网站建设合同.doc 邹平网站建设公司自己想注册公司怎么搞 天津建站模板搭建4399网页版入口 金华网站制作建设台州市城乡建设局网站 网站如何加入流量统计优化大师的作用 教育网站官网网站开发工具c 网站建设 需要注意什么响应式网站开发技术 做网站是不是就能上传东西嘉兴网站备案去哪里 阿玛尼手表官方网站查询正品一键关键词优化 网站建设设计公司类网站织梦模板 带手机端六安商业网站建设费用 做餐饮企业网站的费用有错误的wordpress 网络彩票网站开发电子商务网站建设实训过程 鼠标放到一级导航时才显示网站二级导航 鼠标离开时不显示 怎么控制虚拟主机怎么发布网站吗 莆田市的网站建设公司微信小程序商城怎么弄 手机在线电影网站酒水在什么网站做推广好 广州新站优化手机网站模板大全 网站开发的设计思路做课件挣钱的网站 重庆网站搭建公司无锡知名网站推广