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

广州做家教的网站如何做网站小编

广州做家教的网站,如何做网站小编,网站建设三方协议,网站备案是给什么进行备案原文首更地址#xff0c;阅读效果更佳#xff01; Redis进阶 - JVM进程缓存 | CoderMast编程桅杆https://www.codermast.com/database/redis/redis-advance-jvm-process-cache.html 传统缓存的问题 传统的缓存策略一般是请求到达 Tomcat 后#xff0c;先查询 Redis …原文首更地址阅读效果更佳 Redis进阶 - JVM进程缓存 | CoderMast编程桅杆https://www.codermast.com/database/redis/redis-advance-jvm-process-cache.html 传统缓存的问题 传统的缓存策略一般是请求到达 Tomcat 后先查询 Redis 如果未命中则查询数据库存在下面的问题 请求要经过 Tomcat 处理Tomcat 的性能成为整个系统的瓶颈Redis 缓存失效时会对数据库产生冲击 多级缓存方案 多级缓存就是充分利用请求处理的每个环节分别添加缓存减轻 Tomcat 压力提升服务性能 #本地进程缓存 缓存在日常开发中起着至关重要的作用由于是存储在内存汇总数据的读取速度是非常快的能大量减少对数据库的访问减少数据库的压力。我们把缓存分为两类 分布式缓存例如 Redis 优点存储容量更大、可靠性更好、可以再集群间共享缺点访问缓存有网络开销场景缓存数据量较大、可靠性要求较高、需要在集群间共享 进程本地缓存例如 HashMap、GuavaCache 优点读取本地内存没有网络开销速度更快缺点存储容量有限、可靠性能较低、无法共享场景性能要求较高缓存数据量较小 Caffeine 是一个基于 Java8 开发的提供了近乎最佳命中率的高性能的本地缓存库。目前 Spring 内部的缓存使用的就是 Caffeine。 Github 地址https://github.com/ben-manes/caffeineopen in new window #Caffeine Caffeine 是一个基于 Java8 开发的提供了近乎最佳命中率的高性能的缓存库。 缓存和 ConcurrentMap 有点相似但还是有所区别。最根本的区别是 ConcurrentMap 将会持有所有加入到缓存当中的元素直到它们被从缓存当中手动移除。但是Caffeine 的缓存 Cache 通常会被配置成自动驱逐缓存中元素以限制其内存占用。在某些场景下LoadingCache 和AsyncLoadingCache 因为其自动加载缓存的能力将会变得非常实用。 Caffeine 提供了灵活的构造器去创建一个拥有下列特性的缓存 自动加载元素到缓存当中异步加载的方式也可供选择当达到最大容量的时候可以使用基于就近度和频率的算法进行基于容量的驱逐将根据缓存中的元素上一次访问或者被修改的时间进行基于过期时间的驱逐当向缓存中一个已经过时的元素进行访问的时候将会进行异步刷新key 将自动被弱引用所封装value 将自动被弱引用或者软引用所封装驱逐(或移除)缓存中的元素时将会进行通知写入传播到一个外部数据源当中持续计算缓存的访问统计指标 为了提高集成度扩展模块提供了 JSR-107 JCache 和 Guava 适配器。 JSR-107 规范了基于 Java 6 的 API在牺牲了功能和性能的代价下使代码更加规范。 Guava 的 Cache 是 Caffeine 的原型库并且 Caffeine 提供了适配器以供简单的迁移策略。 原文地址 https://github.com/ben-manes/caffeine/wiki/Home-zh-CNopen in new window #Caffeine示例 Test void testCaffeine(){// 1.创建缓存对象CacheString,String cache Caffeine.newBuilder().build();// 2.存数据cache.put(username,codermast);// 3.1取数据不存在则返回 NullString username cache.getIfPresent(username);System.out.println(username username);// 3.2取数据不存在则从数据库查询String username2 cache.get(username,key - {// 这里写的是去数据库查询的业务逻辑// ...return Hello World!;});System.out.println(username2 username2); }#Caffeine缓存驱逐策略 Caffeine 提供了三种缓存驱逐策略 基于容量设置缓存的数量上限使用 LRU 规则选择 // 创建缓存对象 CacheString,String cache Caffeine.newBuilder().maximumSize(1) // 设置缓存大小上限为 1.build();基于时间设置缓存的有效时间 // 创建缓存对象 CacheString,String cache Caffeine.newBuilder().expireAfterWrite(Duration.ofSeconds(10)) // 设置缓存有效期为 10 s从最后一次写入操作开始计时.build();基于引用设置缓存为软引用或者弱引用利用 GC 来回收缓存数据。性能较差不建议使用。 在默认情况下当一个缓存元素过期的时候Caffeine 不会自动立即将其清理和驱逐。而是在一次读或者写操作后或者在空闲时间完成对失效数据的驱逐。 注释 JVM 进程缓存和 Redis 缓存本质上都是对数据的缓存目的都是为了加速数据的读取。
http://www.hkea.cn/news/14256596/

相关文章:

  • 网站开发视频 百度云律师关键词推广
  • 云服务器是否可以做多个网站深圳建站的公司
  • 福州 网站备案阿里云linux服务器搭建wordpress
  • asp.net 网站管理系统整合营销案例
  • 张家口高新区做网站flashfxp上传网站
  • 手机网站模板演示外包做网站的要求怎么写
  • 加强网站信息内容建设的意见电子商务网站建设与综合实践
  • 企业网站的建设目标有哪几种做网站上哪买空间
  • 北京营销型网站餐饮营销策划方案
  • 企业的网站特点设计方案英文
  • 银川网站建设哪家价格低做管理信息的网站
  • 装修公司网站模板下载中国建筑网官网首页
  • 关于做花茶网站的策划书wordpress 阿里云视频点播
  • 网站建设基本流程是什么建设企业网站是静态还是动态好
  • 清爽网站东莞建设网 东莞市住房和城乡建设局门户网站
  • 网站绿标怎么做安徽省建设工程信息网官方
  • wordpress网站之间互联网站建设规划表
  • 旅游网站设计代码模板江苏南京建设局官方网站
  • 南京网站建设q润洽网络小网站发布要怎么做
  • 俄罗斯外贸常用网站wordpress模板底部的版权文字
  • 风格网站建设视频网站设计意义
  • 百度商桥网站蓝海电商怎么做
  • 旅游电商网站建设方案移动路由器做网站服务器
  • 北京网站设计培训机构wordpress备份用户权限
  • 济南做网站 推荐行知科技可以做投票的网站
  • php网站中水印怎么做win7怎么重新安装wordpress
  • 用J2ee怎么做视频网站网站前台乱码
  • 网站打开速度规定多长时间山西网络营销外包
  • 广州网站建设 中网科技android手机软件开发教程
  • 垣曲做网站国外设计网站都有哪些