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

无锡专业网站排名推广上海网络建站模板

无锡专业网站排名推广,上海网络建站模板,民治做网站,百度如何建网站群1.什么是缓存#xff1f; Redis 最主要的用途,三个方面:1.存储数据(内存数据库)2.缓存 【redis 最常用的场景】3.消息队列【很少见】 缓存 (cache) 是计算机中的⼀个经典的概念. 在很多场景中都会涉及到. 核⼼思路就是把⼀些常⽤的数据放到触⼿可及(访问速度更快)的地⽅, ⽅…1.什么是缓存 Redis 最主要的用途,三个方面:1.存储数据(内存数据库)2.缓存 【redis 最常用的场景】3.消息队列【很少见】 缓存 (cache) 是计算机中的⼀个经典的概念. 在很多场景中都会涉及到. 核⼼思路就是把⼀些常⽤的数据放到触⼿可及(访问速度更快)的地⽅, ⽅便随时读取. 速度快的设备,可以作为速度慢的设备的缓存 最常见的是, 使用 内存 作为 硬盘【硬盘也可以作为网络的缓存浏览器的缓存】【浏览器通过 http/https 从服务器【网络】上获取到数据(html, css,js,图片,视频,音频,字体......) 并进行展示】 的缓存.(redis 定位)缓存能够有意义~~二八定律。缓存速度虽然快,但是空间小,20% 的数据, 可以应对 80% 的请求 2.使用redis作为mysql的缓存 因为 mysql 等数据库,效率比较低,所以承担的并发量就有限.一旦请求数量多了,数据库的压力就会很大,甚至很容易就宕机了服务器每次处理一个请求,一定都要消耗一些硬件资源(cpu, 内存, 硬盘, 网络...)任意一种资源的消耗超出了机器能提供的上限,机器就很容易出现故障了.如何提高 mysql 能承担的并发量?(客观需求)1.开源: 引入更多的机器, 构成数据库集群,2.节流: 引入缓存, 就是典型的方案,把一些频繁读取的热点数据,保存到缓存上 后续在查询数据的时候,如果缓存中已经存在了,就不再访问 mysql 了 3.缓存更新策略 1) 定期⽣成 每隔⼀定的周期(⽐如⼀天/⼀周/⼀个⽉), 对于访问的数据频次进⾏统计. 挑选出访问频次最⾼的前 N% 的数据. 以搜索引擎为例. ⽤⼾在搜索引擎中会输⼊⼀个 查询词, 有些词是属于⾼频的, ⼤家都爱搜(鲜花, 蛋糕, 同城交 友, 不孕不育...). 有些词就属于低频的, ⼤家很少搜. 搜索引擎的服务器会把哪个⽤⼾什么时间搜了啥词, 都通过⽇志的⽅式记录的明明⽩⽩. 然后 每隔⼀段时间对这期间的搜索结果进⾏统计 (⽇志的数量可能⾮常巨⼤, 这个统计的过程可能 需要使⽤ hadoop 或者 spark 等⽅式完成). 从⽽就可以得到 ⾼频词表 . 这种做法实时性较低. 对于⼀些突然情况应对的并不好. ⽐如春节期间, 春晚 这样的词就会成为⾮常⾼频的词. ⽽平时则很少会有⼈搜索 春晚 2) 实时⽣成 先给缓存设定容量上限(可以通过 Redis 配置⽂件的 maxmemory 参数设定). 接下来把⽤⼾每次查询: • 如果在 Redis 查到了, 就直接返回. • 如果 Redis 中不存在, 就从数据库查, 把查到的结果同时也写⼊ Redis. 如果缓存已经满了(达到上限), 就触发缓存淘汰策略, 把⼀些 相对不那么热⻔ 的数据淘汰掉. 按照上述过程, 持续⼀段时间之后 Redis 内部的数据⾃然就是 热⻔数据 了. 通⽤的淘汰策略主要有以下⼏种: 下列策略并⾮局限于 Redis, 其他缓存也可以按这些策略展开. FIFO (First In First Out) 先进先出 把缓存中存在时间最久的 (也就是先来的数据) 淘汰掉. LRU (Least Recently Used) 淘汰最久未使⽤的 记录每个 key 的最近访问时间. 把最近访问时间最⽼的 key 淘汰掉. LFU (Least Frequently Used) 淘汰访问次数最少的 记录每个 key 最近⼀段时间的访问次数. 把访问次数最少的淘汰掉. Random 随机淘汰 从所有的 key 中抽取幸运⼉被随机淘汰掉. 4.缓存使用注意事项 关于缓存预热 (Cache preheating) 什么是缓存预热 使⽤ Redis 作为 MySQL 的缓存的时候, 当 Redis 刚刚启动, 或者 Redis ⼤批 key 失效之后, 此时由于Redis ⾃⾝相当于是空着的, 没啥缓存数据, 那么 MySQL 就可能直接被访问到, 从⽽造成较⼤的压⼒. 因此就需要提前把热点数据准备好, 直接写⼊到 Redis 中. 使 Redis 可以尽快为 MySQL 撑起保护伞. 热点数据可以基于之前介绍的统计的⽅式⽣成即可. 这份热点数据不⼀定⾮得那么 准确, 只要能帮助 MySQL 抵挡⼤部分请求即可. 随着程序运⾏的推移, 缓存的热点数据会逐渐⾃动调整, 来更适应当前情况. 关于缓存穿透 (Cache penetration) 什么是缓存穿透? 访问的 key 在 Redis 和 数据库中都不存在. 此时这样的 key 不会被放到缓存上, 后续如果仍然在访问该 key, 依然会访问到数据库. 这就会导致数据库承担的请求太多, 压⼒很⼤. 这种情况称为 缓存穿透.  为何产⽣? 原因可能有⼏种: • 业务设计不合理. ⽐如缺少必要的参数校验环节, 导致⾮法的 key 也被进⾏查询了. • 开发/运维误操作. 不⼩⼼把部分数据从数据库上误删了. • ⿊客恶意攻击. 如何解决? • 针对要查询的参数进⾏严格的合法性校验. ⽐如要查询的 key 是⽤⼾的⼿机号, 那么就需要校验当前 key 是否满⾜⼀个合法的⼿机号的格式. • 针对数据库上也不存在的 key , 也存储到 Redis 中, ⽐如 value 就随便设成⼀个 . 避免后续频繁访 问数据库. • 使⽤布隆过滤器先判定 key 是否存在, 再真正查询. 关于缓存雪崩 (Cache avalanche) 什么是缓存雪崩 短时间内⼤量的 key 在缓存上失效, 导致数据库压⼒骤增, 甚⾄直接宕机. 本来 Redis 是 MySQL 的⼀个护盾, 帮 MySQL 抵挡了很多外部的压⼒. ⼀旦护盾突然失效了, MySQL ⾃⾝承担的压⼒骤增, 就可能直接崩溃. 为何产⽣? ⼤规模 key 失效, 可能性主要有两种: • Redis 挂了. • Redis 上的⼤量的 key 同时过期. 为啥会出现⼤量的 key 同时过期? 这种和可能是短时间内在 Redis 上缓存了⼤量的 key, 并且设定了相同的过期时间. 如何解决? • 部署⾼可⽤的 Redis 集群, 并且完善监控报警体系. • 不给 key 设置过期时间 或者 设置过期时间的时候添加随机时间因⼦ 5.小结 1.缓存基本概念 2. 如何使用 redis 作为缓存 3.缓存更新策略 redis 内存淘汰机制, 4. 缓存使用的注意事项 [重点]
http://www.w-s-a.com/news/932620/

相关文章:

  • 做分销的网站本地dede网站怎么上线
  • 中学网站模板北京管理咨询公司
  • 网站开发用哪个软件方便二级网站建设 管理思路
  • 个人怎么创建网站中国建设银行网站口
  • 跟知乎一样的网站做展示网站步骤
  • 邯郸网站建设效果好wordpress app 加载慢
  • 做app的网站有哪些功能广州自适应网站建设
  • 兰州建设网站的网站开源网站建设
  • 深圳网站建设南山指数基金是什么意思
  • 备案中又需要建设网站网站信息组织优化
  • 做网站推广需要什么asp响应式h5网站源码下载
  • 柳州建设网官方网站免费自助建站哪个平台好
  • 论坛网站模板源码下载网站建设与网页设计是什么
  • 跑流量的网站淘宝网站的建设目标是
  • 网站计费系统怎么做九一制作网站
  • 网红营销推广温州seo博客
  • 临沂网站制作定制现在比较流行的软件开发模型
  • 南宁企业建站系统做问卷调查哪个网站好
  • 能打开各种网站的浏览器推荐建设部的网站首页
  • 苏州高端网站建设开发wordpress 删除图片
  • saas网站开发外贸网站设计风格
  • c 手机网站开发湘阴网页定制
  • 阿里云虚拟主机搭建wordpressWordPress优化手机端
  • 湖北长安建设网站衡阳市做网站
  • 灯饰网站建设图片深圳做网站哪家公司好
  • 网站的构造有什么网站做生鲜配送的
  • 怎么在手机上做微电影网站小马厂网站建设
  • 网络广告投放网站中山网
  • 保定网站制作专业网页设计模板html代码运行
  • 中国专利申请网官网杭州seo优化