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

辽宁响应式网站建设哪家好重庆装修网站建设

辽宁响应式网站建设哪家好,重庆装修网站建设,图书管理系统网站开发绪论,html5做网站的总结一、前言 缓存对于一个高并发场景下的微服务应用来说具有重要的作用#xff0c;不管是在架构选型还是设计阶段#xff0c;缓存都是应用扛高并发提升吞吐量的有效手段。缓存对于大多数开发的同学来说并不陌生#xff0c;一个基本的缓存使用流程如下#xff1a; 简而言之不管是在架构选型还是设计阶段缓存都是应用扛高并发提升吞吐量的有效手段。缓存对于大多数开发的同学来说并不陌生一个基本的缓存使用流程如下 简而言之缓存的使用流程可归纳如下 请求到达服务端 先从缓存获取数据缓存命中直接返回 缓存未命中查询数据库然后返回数据同时同步缓存 二、多级缓存问题 2.1 缓存分类 2.1.1 本地缓存 本地缓存指的是应用内部的缓存也叫进程缓存。最大的优点是应用和cache是在同一个进程内部请求缓存快没有过多的网络开销。本地缓存的有的很多具体来说 在单应用不需要集群支持或者集群情况下各节点无需互相通知的场景下使用本地缓存较合适 缺点是缓存跟应用程序耦合多个应用程序无法直接的共享缓存各应用或集群的各节点都需要维护自己的单独缓存对内存是一种浪费 2.1.2 分布式缓存 分布式缓存是指缓存与应用本身分离相比本地缓存来说很明显的优点是分布式缓存本身就是一个独立的应用或组件与本地应用隔离多个应用可共享缓存。 2.2 独立缓存的问题 一般来说如果系统对于高并发的业务需求并不是很敏感单机部署时考虑使用本地缓存即可满足 常用的本地缓存组件包括ehcachecaffeineguawa等这些都是成熟的方案在不少互联网项目中都有实践落地经验可以直接拿来使用 但本地缓存在分布式部署时一个最大的问题就是缓存一致性的问题所以在分布式部署模式下通常考虑使用分布式缓存组件避免一致性问题 成熟的分布式缓存组件有memcachedspringcachejetcache等 对于一个生产中的应用来说随着业务数据量的不断增加独立缓存给应用的架构设计带来了越来越多的挑战具体来说表现如下 2.2.1 缓存雪崩问题 以redis来说如果对于key的使用不当很容易出现的一个问题就是缓存雪崩问题这在高并发的业务场景中是出现过生产事故的简单来说就是对于那些高频查询的热点接口缓存数据一旦使用不当很容易在某个时间点出现集中失效造成缓存雪崩。 2.2.2 对宽带压力大 以分布式缓存为例不管是使用memcached还是redis等存储缓存数据一旦大量的请求过来查询缓存时由于缓存是跨机器甚至跨网络这必然会对当前应用的带宽造成瞬时的冲击。 2.2.3 运行效率低 试想如果在分布式缓存前面再加上一层本地缓存即JVM的进程缓存那么数据到达服务端时就可以直接从应用进程内部的缓存中获取数据这比从远端获取redis的缓存效率就更高了。 2.3 多级缓存方案 多级缓存的搭配使用不仅可以解决上面提到的问题同时也给架构设计上带来了更多的发挥空间多级缓存的业务流程如下 浏览器访问静态资源时优先读取浏览器本地缓存 访问非静态资源ajax查询数据时访问服务端 请求到达Nginx后优先读取Nginx本地缓存 如果Nginx本地缓存未命中则去直接查询Redis不经过Tomcat 如果Redis查询未命中则查询Tomcat 请求进入Tomcat后优先查询JVM进程缓存 如果JVM进程缓存未命中则查询数据库 2.3.1 多级缓存实践方案推荐 目前多级缓存在业内经过多年的实践总结也有不少成熟的方案可供参考如下提供几种常用的方案提供参考 caffeine redis caffeine 是一款优秀的本地缓存组件API丰富灵活度高而redis就不再过多介绍了相信不少同学对redis都比较了解。 ehcache redis ehcache是一款老牌的本地缓缓组件经过多年的生产实践性能可靠、稳定、可配置化参数丰富。 guava-cache redis guava是google的一款轻量级的组件在本地缓存的使用方面性能非常优异使用成本也很低。 三、jetcache介绍 3.1 jetcache概述 jetcache是阿里开源的基于java开发的缓存框架支持多种缓存类型本地缓存、分布式缓存、多级缓存。能够满足不同业务场景的缓存需求。 jetcache具有上手简单、性能高效、拓展性强等特点。支持缓存预热 、缓存key前缀等功能。结合spring-cache使用可以实现十分优雅的缓存类型切换。 官网地址GitHub - alibaba/jetcache: JetCache is a Java cache framework. 官方文档https://github.com/alibaba/jetcache/tree/master/docs/CN 3.2 jetcache 特性 JetCache是由阿里巴巴 Group 开源的一款基于 Spring 和 Redis 的分布式缓存框架。它的主要特点包括 基于注解通过注解的方式来实现缓存的配置和使用代码简洁易于维护 多级缓存支持多级缓存可以将数据缓存在本地内存、Redis、Tair、Memcached 等多种缓存存储中提高缓存的命中率和查询效率 多种缓存协议支持 Redis、Tair、Memcached 等多种缓存协议具有良好的可扩展性和兼容性可以灵活切换缓存存储方式 高性能JetCache 针对分布式环境下的高并发访问优化了缓存的数据结构和查询算法提供了较高的性能 易用性JetCache 的 API 简单易用支持 Spring 注入和自定义配置提供了丰富的缓存操作功能非常适合中小型应用开发 3.3 jetcache 应用场景 3.3.1 热点数据缓存 JetCache 可以将常用的热点数据缓存在本地或远程缓存中减少数据库或其他数据源的访问并提高响应性能和性能稳定性。 相当于是同时融合了本地缓存与分布式缓存开发者可以根据实际需求选择本地缓存或远程缓存进行配置使用。 3.3.2 多级缓存融合 JetCache 支持多种缓存存储类型可以将不同的缓存存储类型融合使用以达到更高的缓存效率和命中率。 在多级缓存中通常需要多种技术的整合而引入jetcache之后可以避免应用中同时引入本地缓存和分布式缓存组件只需要按照规范开启相关的配置参数即可满足。 3.3.3 支撑高并发读写 JetCache 的缓存算法可以优化高并发读写场景提高程序性能并降低系统压力。 3.3.4 高速访问查询 JetCache 使用缓存可以实现高速查询和访问减少等待时间并提高用户体验。 3.4 JetCache API使用 3.4.1 缓存管理 JetCache 提供了 CacheBuilder 类来创建缓存以及 Cache 对象来操作缓存例如 get、put、remove 等。在调用 Cache 对象的 put 方法时可以使用注解 Cache 来设置缓存时间和名称等配置。 3.4.2 注解支持 JetCache 提供了多种注解来实现缓存操作例如 CachedCacheUpdate, CacheInvalidate 等。使用注解的方式可以更加方便地进行缓存操作例如缓存预热、删除、更新等。 3.4.3 缓存类型 JetCache 支持多种缓存类型例如本地 memory、Redis、Tair 和 Memcached 等缓存可以根据业务需求来选择缓存类型。 3.4.4 Spring 集成支持 JetCache 提供了 Spring 集成支持可以通过注解来注入和配置缓存简化使用流程。 四、jetcache与springboot整合应用 严格意来说jetcache并不是一个缓存解决方案只能说算是一个缓存框架然后把别的缓存放到jetcache中管理这样就可以支持AB缓存一起用了。并且jetcache参考了springboot整合缓存的思想整体技术使用方式和springboot的缓存解决方案思想非常类似。 在正式开始使用jetcache之前需要明确一下jetcache并不是随便拿两个缓存就能拼接在一起使用目前jetcache支持的缓存方案中本地缓存和远程缓存各支持2种类分别如下 4.1 缓存支持类型 4.1.1 本地缓存类型 1、LinkedHashMap 2、Caffieine 4.1.2 远程缓存支持类型 1、Redis 2、Tair 4.2 maven 依赖 下面的依赖为后文案例演示所有需要的基本依赖如果单独测试jetcache功能单独引包即可 dependencies dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency dependency groupIdorg.projectlombok/groupId artifactIdlombok/artifactId/dependency !--dependencygroupIdcom.alicp.jetcache/groupIdartifactIdjetcache-starter-redis/artifactId version2.6.2/version/dependency-- dependency groupIdcom.alicp.jetcache/groupIdartifactIdjetcache-starter-redis/artifactIdversion2.5.11/version /dependencydependencygroupId redis.clients/groupIdartifactIdjedis/artifactIdversion2.9.0/version/dependency/dependencies4.3 本地缓存方案 4.3.1 application 配置文件 可以参考git文档进行相关参数配置下面为基本的配置文件 jetcache:statIntervalMinutes: 1 #每过1分钟在控制台汇总一次数据areaInCacheName: falselocal:default:type: linkedhashmap
http://www.zqtcl.cn/news/621955/

相关文章:

  • 做网站虚拟主机配置网站是怎样制作的
  • 网站建设方案 文库新乡网站seo优化
  • 网站优化需要什么软件有没有帮别人做网站
  • 做国外网站选择vps汉中公司做网站
  • ipad网站开发百度推广送的公司网站有什么用
  • 网站被收录wordpress模板游戏推广
  • 做个网站成功案例深圳网络推广工资
  • 河南省城乡与住房建设厅网站做网站的都是什么专业毕业的
  • 做网站月薪10万微信网页开发教程
  • 网站开发组岗位上海著名企业
  • 阿里云网站建设方案网站源码分享
  • 设计感很强的中文网站公司专业网页制作
  • 自己制作网站做外贸赚钱吗什么是网站html静态化
  • 网站中的搜索功能怎么做的网站空间价格
  • 网站内容收费WordPress之类的
  • 好网站推荐一下网站建设客户评价
  • 重庆交通网站建设wordpress08模板
  • 网站搭建响应式wordpress访客切换主题
  • 标准网站建设推荐帮别人做网站开票开什么税目
  • 温州网站优化衡阳县专业做淘宝网站
  • 门户网站建设存在的问题和差距无锡做智能网站
  • 受欢迎的常州做网站网站制作ppt
  • 物流网站建设实例 天堂资源帝
  • 太原建设厅官方网站wordpress 导入工具
  • 做网站树立品牌形象建设了网站后怎么用谷歌引流
  • 专业公司网站建设建设人才库网站
  • 怎么自己做直播网站吗手机免费建站app
  • 惠州规划建设局网站seo网站关键词排名优化公司
  • 关键词检测百度seo一本通
  • 做效果图的外包网站徐州低价seo