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

学校文化建设网站全渠道运营平台系统

学校文化建设网站,全渠道运营平台系统,做网站专题的软件,深圳网站做优化哪家公司好redis哨兵模式 一.缓存穿透1.概念2.解决方案1#xff09;接口校验2#xff09;缓存空值3#xff09;布隆过滤器4#xff09;实时监控 二.缓存击穿1.概念2.解决方案1#xff09;设置热点数据永不过期2#xff09;加互斥锁3#xff09;”提前“使用互斥锁 / 逻辑过期4接口校验2缓存空值3布隆过滤器4实时监控 二.缓存击穿1.概念2.解决方案1设置热点数据永不过期2加互斥锁3”提前“使用互斥锁 / 逻辑过期4对热点数据进行预热 三.缓存雪崩1.概念2.解决方案1redis高可用2限流降级3将失效时间分散开4数据预热5设置缓存标记 reids缓存的使用极大的提升了应用程序的性能和效率特别是数据查询方面。但是它也带来一些问题。比如最主要问题就是数据一致性问题严格意义上该问题无解所以如果对数据一致性要求很高那么就不能使用缓存。 另外的一些问题就是如缓存穿透缓存击穿缓存雪崩 一.缓存穿透 1.概念 大量高并发请求查询的数据在redis发现不存在(缓存未命中)于是向持久层数据库查询(mysql)发现也不存在这样缓存永远不会生效。这样大量请求都会请求持久层数据库这将造成持久层数据库很大压力这时就出现了所说的缓存穿透。 2.解决方案 1接口校验 对于id -1234这类无效查询直接拦截不允许这些请求到达Redis、DB上。 2缓存空值 比如虽然数据库中没有id 666的用户的数据但是在redis中对他进行缓存key666, valuenull这样当请求到达redis的时候就会直接返回一个null的值给客户端避免了大量无法获取的数据请求直接访问DB。 注意 1.key设置的过期时间不能太长防止占用太多redis资源设置一个合适的TTL比如两三分钟。当遇到黑客暴力请求很多不存在的数据时就需要写入大量的null值到Redis中可能导致Redis内存占用不足的情况。 2.即使设置了过期时间还是会存在缓存层和持久层数据会有一段时间的不一致这对于需要保持一致性的业务有影响。 3布隆过滤器 布隆过滤器是一种数据结构对所有可能查询的参数以hash形式存储在控制层先进行校验不符合则丢弃从而避免对底层存储系统的查询压力。 4实时监控 对redis进行实时监控当发现redis中的命中率下降的时候进行原因的排查配合运维人员对访问对象和访问数据进行分析查询从而进行黑名单的设置限制服务(拒绝黑客攻击)。 二.缓存击穿 1.概念 这里需要注意和缓存穿透的区别缓存击穿是指一个key非常热点在不停扛着大并发大量并发集中对这一个点进行访问当这个key在失效的瞬间持续的大并发就穿破缓存直接请求数据库就像在一个屏障上凿开了一个洞。 当某个key在过期的瞬间有大量的请求并发访问这类数据一般是热点数据由于缓存过期会同时访问数据库来查询最新数据并回写缓存会使得数据库瞬间压力过大。 2.解决方案 1设置热点数据永不过期 从缓存层来看不设置过期时间就不会出现热点key过期后产生的问题。 2加互斥锁 使用setnx作为Redis中的锁。 分布式锁使用分布式锁保证对于每个key同时只有一个线程去查询数据库并返回到Redis其他线程没有获得分布式锁的权限则等待之后所有请求就可以从Redis中得到响应。这种方式将高并发的压力转移到了分布式锁上。 3”提前“使用互斥锁 / 逻辑过期 在value内部设置一个比缓存Redis过期时间短的过期时间标识当异步线程发现该值快过期时马上延长内置的这个时间并重新从数据库加载数据设置到缓存中去。【缺点不保证一致性实现相较互斥锁更复杂】 4对热点数据进行预热 对热点数据预先设置在Redis中或者适当延长Redis中的Key过期时间。 三.缓存雪崩 1.概念 缓存雪崩是指在某一个时间段缓存集中过期失效或redis宕机。 比如双十一在12点集中将一批商品放入了缓存并设置缓存时间为1个小时。当到了凌晨1点钟时这批商品缓存过期。这时对这批商品进行访问查询都会去访问数据库对于数据库来说就会产生周期性的压力波峰。于是所有请求都会到达持久层持久层调用量急增可能造成数据库宕机。 相对于集中过期来说缓存服务器的宕机是比较致命的缓存雪崩 2.解决方案 1redis高可用 搭建redis集群防止单机redis宕机整个缓存不可用 2限流降级 该方案的思想是在缓存失效后通过加锁或者队列来控制读取数据库写缓存的线程数量比如对某个key只允许一个线程查询数据和回写进缓存可能影响并发 3将失效时间分散开 常用且易于实现通过使用自动生成随机数使得key的过期时间TTL是随机的防止集体过期。 4数据预热 在发生高并发前手动触发加载缓存的key使得大量访问数据加载到缓存中。 5设置缓存标记 热点数据可以不考虑失效后台异步更新缓存适用于不严格要求缓存一致性的情景。 其它参考文章
http://www.hkea.cn/news/14453832/

相关文章:

  • 盈利网站广州建设网站 公司
  • 常宁城乡建设局网站查询邮箱账号做网站用户名好不好
  • 阿里巴巴网站谁做的自己做自营网站
  • 河南省城乡住房建设厅网站首页个人网站开发软件
  • 电商总监带你做网站策划工程公司安全考试
  • 怎么建设好一个外贸购物网站网站接入查询
  • 网站建设保密协议书高级搜索引擎技巧
  • 丹阳市住房建设管理局网站上海豪宅装修公司排名
  • 百度里面的站长工具怎么取消网站建设ppt方案结语
  • 广州市公司网站建设平台网络设计软件有哪些
  • 佛冈网站建设怎么做私人网站
  • 手机网站 案例wordpress爱情主题
  • 电脑版传奇网站医疗网站建设哪个好用
  • 高中网站制作网络营销方案设计
  • 为什么网站开发需要写php中国建设银行官网个人登录
  • 湖北网站建设推荐网站源代码购买
  • 郑州网站优化渠道网站商品展示页怎么做的
  • 百度联盟怎么做网站医学类app制作公司
  • 企业网站建设的三个核心问题typecodes wordpress
  • 吉林省网站建设行业需求分析公司网站建设汇报
  • 杭州认证网站建设网站描述设置
  • 网站信息可以边建设边组织wordpress 字体 插件下载
  • 做3ds磁铁卡网站wordpress腾讯地图插件
  • wordpress搭建外贸网站广东省建设厅的注册中心网站
  • 双语企业网站源码电影网站模板下载
  • 网站优化推广是什么wordpress背景图案轮流
  • 昆明免费网站建设软件研发和开发哪个工资高
  • 电商网站开发用什么语言表达室内设计师常用网站
  • 音乐网站的制作宁波建设网 公积金网点
  • 南京 网站开发做我女朋友的网站