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

江苏省网站建设_网站建设公司_MySQL_seo优化

内蒙古两学一做网站,网站301了不知道在哪做的,在网站上做送餐外卖需要哪些资质,运维网站建设正文 在实际的工作项目中#xff0c; 缓存成为高并发、高性能架构的关键组件 #xff0c;那么Redis为什么可以作为缓存使用呢#xff1f;首先可以作为缓存的两个主要特征#xff1a; 在分层系统中处于内存/CPU具有访问性能良好#xff0c;缓存数据饱和#xff0c;有良好…正文 在实际的工作项目中 缓存成为高并发、高性能架构的关键组件 那么Redis为什么可以作为缓存使用呢首先可以作为缓存的两个主要特征 在分层系统中处于内存/CPU具有访问性能良好缓存数据饱和有良好的数据淘汰机制 由于Redis 天然就具有这两个特征Redis基于内存操作的且其具有完善的数据淘汰机制十分适合作为缓存组件。 其中基于内存操作容量可以为32-96GB且操作时间平均为100ns操作效率高。而且数据淘汰机制众多在Redis 4.0 后就有8种了促使Redis作为缓存可以适用很多场景。 那Redis缓存为什么需要数据淘汰机制呢有哪8种数据淘汰机制呢 数据淘汰机制 Redis缓存基于内存实现的则其缓存其容量是有限的当出现缓存被写满的情况那么这时Redis该如何处理呢 Redis对于缓存被写满的情况Redis就需要缓存数据淘汰机制通过一定淘汰规则将一些数据刷选出来删除让缓存服务可再使用。那么Redis使用哪些淘汰策略进行刷选删除数据 在Redis 4.0 之后Redis 缓存淘汰策略62种包括分成三大类 不淘汰数据 noeviction 不进行数据淘汰当缓存被写满后Redis不提供服务直接返回错误。 在设置过期时间的键值对中 volatile-random 在设置过期时间的键值对中随机删除volatile-ttl 在设置过期时间的键值对基于过期时间的先后进行删除越早过期的越先被删除。volatile-lru 基于LRU(Least Recently Used) 算法筛选设置了过期时间的键值对 最近最少使用的原则来筛选数据volatile-lfu 使用 LFU( Least Frequently Used ) 算法选择设置了过期时间的键值对, 使用频率最少的键值对,来筛选数据。 在所有的键值对中 allkeys-random 从所有键值对中随机选择并删除数据allkeys-lru 使用 LRU 算法在所有数据中进行筛选allkeys-lfu 使用 LFU 算法在所有数据中进行筛选 Note: LRU( 最近最少使用Least Recently Used)算法 LRU维护一个双向链表 链表的头和尾分别表示 MRU 端和 LRU 端分别代表最近最常使用的数据和最近最不常用的数据。 LRU 算法在实际实现时需要用链表管理所有的缓存数据这会带来额外的空间开销。而且当有数据被访问时需要在链表上把该数据移动到 MRU 端如果有大量数据被访问就会带来很多链表移动操作会很耗时进而会降低 Redis 缓存性能。 其中LRU和LFU 基于Redis的对象结构redisObject的lru和refcount属性实现的: typedef struct redisObject {unsigned type:4;unsigned encoding:4;// 对象最后一次被访问的时间unsigned lru:LRU_BITS; /* LRU time (relative to global lru_clock) or* LFU data (least significant 8 bits frequency// 引用计数 * and most significant 16 bits access time). */int refcount;void *ptr; } robj;Redis的LRU会使用redisObject的lru记录最近一次被访问的时间随机选取参数maxmemory-samples 配置的数量作为候选集合在其中选择 lru 属性值最小的数据淘汰出去。 在实际项目中那么该如何选择数据淘汰机制呢 优先选择 allkeys-lru算法将最近最常访问的数据留在缓存中提升应用的访问性能。有顶置数据使用 volatile-lru算法 ,顶置数据不设置缓存过期时间其他数据设置过期时间基于LRU 规则进行筛选 。 在理解了Redis缓存淘汰机制后来看看Redis作为缓存其有多少种模式呢 Redis缓存模式 Redis缓存模式基于是否接收写请求可以分成只读缓存和读写缓存 只读缓存只处理读操作所有的更新操作都在数据库中这样数据不会有丢失的风险。 Cache Aside模式 读写缓存读写操作都在缓存中执行出现宕机故障会导致数据丢失。缓存回写数据到数据库有分成两种同步和异步 同步访问性能偏低其更加侧重于保证数据可靠性 Read-Throug模式Write-Through模式 异步有数据丢失风险其侧重于提供低延迟访问 Write-Behind模式 Cache Aside模式 查询数据先从缓存读取数据如果缓存中不存在则再到数据库中读取数据获取到数据之后更新到缓存Cache中但更新数据操作会先去更新数据库种的数据然后将缓存种的数据失效。 而且Cache Aside模式会存在并发风险执行读操作未命中缓存然后查询数据库中取数据数据已经查询到还没放入缓存同时一个更新写操作让缓存失效然后读操作再把查询到数据加载缓存导致缓存的脏数据。 Read/Write-Throug模式 查询数据和更新数据都直接访问缓存服务缓存服务同步方式地将数据更新到数据库。出现脏数据的概率较低但是就强依赖缓存对缓存服务的稳定性有较大要求但同步更新会导致其性能不好。 Write Behind模式 查询数据和更新数据都直接访问缓存服务但缓存服务使用异步方式地将数据更新到数据库通过异步任务 速度快效率会非常高但是数据的一致性比较差还可能会有数据的丢失情况实现逻辑也较为复杂。 在实际项目开发中根据实际的业务场景需求来进行选择缓存模式。那了解上述后我们的应用中为什么需要使用到redis缓存呢 在应用使用Redis缓存可以提高系统性能和并发主要体现在 高性能基于内存查询KV结构简单逻辑运算高并发 Mysql 每秒只能支持2000左右的请求Redis轻松每秒1W以上。让80%以上查询走缓存20%以下查询走数据库能让系统吞吐量有很大的提高 虽然使用Redis缓存可以大大提升系统的性能但是使用了缓存会出现一些问题比如缓存与数据库双向不一致、缓存雪崩等对于出现的这些问题该怎么解决呢 使用缓存常见的问题 使用了缓存会出现一些问题主要体现在 缓存与数据库双写不一致缓存雪崩: Redis 缓存无法处理大量的应用请求转移到数据库层导致数据库层的压力激增;缓存穿透访问数据不存在在Redis缓存中和数据库中导致大量访问穿透缓存直接转移到数据库导致数据库层的压力激增;缓存击穿缓存无法处理高频热点数据导致直接高频访问数据库导致数据库层的压力激增; 缓存与数据库数据不一致 只读缓存(Cache Aside模式) 对于只读缓存(Cache Aside模式) 读操作都发生在缓存中数据不一致只会发生在删改操作上新增操作不会因为新增只会在数据库处理当发生删改操作时缓存将数据中标志为无效和更新数据库 。因此在更新数据库和删除缓存值的过程中无论这两个操作的执行顺序谁先谁后只要有一个操作失败了就会出现数据不一致的情况。 Spring全套教学资料 Spring是Java程序员的《葵花宝典》其中提供的各种大招能简化我们的开发大大提升开发效率目前99%的公司使用了Spring大家可以去各大招聘网站看一下Spring算是必备技能所以一定要掌握。 资料领取方式点击这里前往蓝色传送门 目录 部分内容 Spring源码 第一部分 Spring 概述第二部分 核心思想第三部分 手写实现 IoC 和 AOP自定义Spring框架第四部分 Spring IOC 高级应用 基础特性 高级特性第五部分 Spring IOC源码深度剖析 设计优雅 设计模式 注意原则、方法和技巧第六部分 Spring AOP 应用 声明事务控制第七部分 Spring AOP源码深度剖析 必要的笔记、必要的图、通俗易懂的语言化解知识难点 脚手框架SpringBoot技术 它的目标是简化Spring应用和服务的创建、开发与部署简化了配置文件使用嵌入式web服务器含有诸多开箱即用的微服务功能可以和spring cloud联合部署。 Spring Boot的核心思想是约定大于配置应用只需要很少的配置即可简化了应用开发模式。 SpringBoot入门配置文件日志Web开发DockerSpringBoot与数据访问启动配置原理自定义starter 微服务架构Spring Cloud Alibaba 同 Spring Cloud 一样Spring Cloud Alibaba 也是一套微服务解决方案包含开发分布式应用微服务的必需组件方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 微服务架构介绍Spring Cloud Alibaba介绍微服务环境搭建服务治理服务容错服务网关链路追踪ZipKin集成及数据持久化消息驱动短信服务Nacos Confifig—服务配置Seata—分布式事务Dubbo—rpc通信 Spring MVC 目录 部分内容 …(img-fZvUVvw6-1624780270225)] [外链图片转存中…(img-q9kNYJVX-1624780270225)] [外链图片转存中…(img-b7mAsXDg-1624780270226)] 部分内容 [外链图片转存中…(img-HNjUgWlq-1624780270226)] [外链图片转存中…(img-hrT4FAFv-1624780270227)]
http://www.ihoyoo.com/news/100663.html

相关文章:

  • 一个公司可以做2个网站么网站插件 wordpress
  • 什么做网站赚钱郑州网站建设优化公司
  • 制作营销网站模板免费下载深圳火狼设计公司招聘网站
  • 做爰全过程网站免费的视频天津 网站开发
  • 重庆网站建设 快速建站东莞网站设计在哪里
  • 网站没备案怎么做加速wordpress导航栏文字大小不一
  • 门户网站开发需要多少钱代挂QQ建设网站
  • 某网络公司网站源码 蓝色建站企业网站源码装修网站排名
  • 怎么做整人网站wordpress问卷模板
  • 在家自己做网站网页制作超链接怎么做
  • 优秀的网站建设价格星斗科技 网站建设
  • 一个网站的设计周期wordpress安装失败
  • 网站查询站长工具wordpress图文插件
  • 电子商务网站开发人员要求做网站的公司 贵阳
  • 襄阳高端网站建设dedecms美食网站
  • 免费seo网站诊断wordpress登陆后台
  • 网站开发文档模板网站开发设计制作合同
  • 做文字logo的网站培训行业网站建设的重要性
  • 群晖做网站服务器外贸网站商城
  • 四川省城乡建设信息网站证件查询网站建设找 三尾狐
  • 制作个网站多少钱网站建设理论基础
  • 新手怎么做电商在哪个网站wordpress首页图片不显示
  • 宝安网站建设成都有什么好玩的娱乐场所
  • 品牌的佛山网站建设价格微信运营简历
  • 怎样做网站的用户分析专业网站建设联系
  • 喜欢网站建设学什么专业外链代发软件
  • 自己做的网站放在服务器哪里wordpress商业模板个人
  • 电影订票网站开发wordpress 不能更换主题
  • html网页设计网站开发报告广告公司宣传册样本
  • 全国卫生机构建设管理系统网站销售管理软件排行