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

网站建设 趋势网站建设免费建站免费源代码

网站建设 趋势,网站建设免费建站免费源代码,兴义哪有做网站,云溪网络建站宝盒概述 缓存的目的就是减少数据库DB端负载提高访问速度,最终提升系统性能缓存种类 分布式缓存#xff1a; Redis、Memcached本地/进程缓存(JVM中堆内存)#xff1a;Ehcache、Guava Cache、Caffeine Guava Guava是Google开源的Java类库,提供了一组核心库#xff0c;目的是帮助…概述 缓存的目的就是减少数据库DB端负载提高访问速度,最终提升系统性能缓存种类 分布式缓存 Redis、Memcached本地/进程缓存(JVM中堆内存)Ehcache、Guava Cache、Caffeine Guava Guava是Google开源的Java类库,提供了一组核心库目的是帮助开发者编写更干净、更可读、更可维护的代码实现常用的字符串/随机数/时间处理、缓存等Guava cache 是一个支持高并发的线程安全的本地缓存,本质就是一个支持LRU的ConcurrentHashMap,提供了缓存实现支持自动失效、大小限制、统计信息等最佳实践 项目中经常存在重复发送请求从数据库查询用户信息、字典信息等,所以我们采用了Guava的CacheBuilder创建缓存,进而有效地减少对mapper.loadByCode方法的调用次数,通过本地缓存大大的提升访问速度进而提高了系统性能! private LoadingCacheString, FlowNode flowNodeCache; // 业务节点缓存: 用于存储String到FlowNode映射 { // 初始化代码块cache // CacheBuilder的构造函数是私有的只能通过其静态方法newBuilder()来获得CacheBuilder的实例 CacheBuilder.newBuilder()// 设置缓存支持的并发级别为8意味着可以有8个线程同时读写缓存.concurrencyLevel(8)// 设置缓存项在最后一次被访问后的20秒后过期.expireAfterAccess(20, TimeUnit.SECONDS)// 设置缓存项在写入后的65秒后自动刷新。这意味着即使缓存项尚未过期每65秒也会触发加载新值的操作.refreshAfterWrite(65, TimeUnit.SECONDS)// 设置缓存的初始容量为3。这是预计的初始键值对数量用于优化哈希表的内存分配.initialCapacity(3)// 设置缓存的最大容量为100。当缓存中的项超过这个数量时将使用LRU最近最少使用算法移除最老的缓存项.maximumSize(100)// 开启缓存统计信息的记录可以用于监控缓存的命中率等.recordStats()// 设置一个移除监听器,当缓存项被移除时会记录移除的键和原因.removalListener(new RemovalListenerObject, Object() {Overridepublic void onRemoval(RemovalNotificationObject, Object notification) {LOGGER.info(notification.getKey() 被移除了原因 notification.getCause());}}).build(new CacheLoaderString , FlowNode() {//当尝试访问一个尚未缓存的键时loadByCode方法将被调用来加载对应的FlowNodeOverridepublic FlowNode load(String code) throws Exception {return mapper.loadByCode(code); //根据审核节点code(Level1,level2...)从数据库加载该节点对应的所有信息(节点类型、节点名称等)到缓存}}); } // 业务调用的服务方法入口 public FlowNode loadFlowNodeFromCache(String code) {try {return cache.get(code); // 当未命中缓存时,CacheLoader的load方法会被调用来加载数据} catch (Exception e) {e.printStackTrace();return mapper.loadByCode(code);} }LoadingCache本地缓存执行流程 当cache对象被引用且对应的键不在缓存中时,CacheLoader的load方法会被调用来加载数据 加载的数据将被存入缓存中且根据设置的规则如过期时间、最大容量等进行管理 如果缓存项在20秒内未被访问它将过期并可能被移除 如果缓存项在65秒后未被刷新它将触发刷新操作加载新值 当缓存达到最大容量100时将根据LRU算法移除最老的缓存项 缓存项被移除时移除监听器将被触发记录移除的键和原因
http://www.pierceye.com/news/567663/

相关文章:

  • 营销型网站的建设方案企业网页设计作品分析
  • 网站建设的费用报价做网站销售这几天你有什么想法
  • 做箱包关注哪个网站类似建站之星网站
  • 口碑好网站建设报价wordpress 微博侧边栏
  • 长沙 建站优化花都区手机版网站建设
  • 网站自动弹窗代码国外哪些网站可以兼职做任务
  • 怎么查看网站服务器位置wordpress 数据表结构
  • 国外做家纺的网站有些网站开发人员工具无反应
  • 泉州做网站个人网站备案号可以做企业网站吗
  • 苏州姑苏区专业做网站国外购物网站建设
  • 蒙牛官网网站怎么做的爱站网备案查询
  • 天津市建设工程监理公司网站电商seo引流
  • 导航网站链接怎么做wordpress教育相关的模板
  • 招聘网站建设人员条件wordpress有后端吗
  • 3g免费网站制作做美图 网站
  • 网站建设有哪些知识点图片制作软件哪个好用
  • 百度站长工具使用方法石岩医院网站建设
  • 网站一直百度上搜不到是怎么回事宝安大型商城网站建设
  • 本地营销型网站建设学校网站制作方案
  • 百度安装app下载免费王通seo赚钱培训
  • 郑州免费网站制作wordpress注册404
  • 晋城有做网站的吗可以做100张照片的软件
  • 比较好的网站建设品牌设计南宁建网站
  • 萧山网站建设那家好wordpress文章标题字体
  • 上海网站营销seo电话ftp网站 免费
  • 手机网站Comapp制作公司哪个好
  • 北京设计公司网站互联网行业都有哪些工作岗位呢
  • lnmp wordpress建设多网站个人网站设计毕业设计论文
  • 如何申请建设网站网站运营与管理的心得体会
  • WordPress如何建小语种网站网站用橙色