bboss文件缓存组件FileContentCache介绍
bboss文件缓存组件FileContentCache作用
我们经常需要在程序中频繁地读取文件内容,如果在高并发情况下频繁地访问文件系统会导致频繁的IO操作或者超出linux允许访问的最大文件句柄数;那么通过缓存文件内容可以很好地解决这个问题,同时如果文件内容有变化还需要将最新内容更新到缓存区。
三种不同的获取文件内容的机制示意图:
方式一 每次都访问物理文件
方式二 第一次读物理文件,以后都从缓存区获取文件内容
方式三 第一次读物理文件,以后都从缓存区获取文件内容,但是后台会开启一个守护进程定时探测所有已经加载的文件是否有变动,有变动则将最新的文件内容加载到缓存区,确保后续读取到的文件内容是最新的内容。
FileContentCache采用方式三对文件内容进行缓存,同时提供了对文件内容进行格式化处理的实用方法。
bboss文件缓存组件FileContentCache使用
bboss文件缓存组件FileContentCache使用非常简单,直接看
示例代码:
try {
//创建一个文件内容缓存组件并初始化,一般采用单列模式创建,根据需要可以创建多个单列实例。
FileContentCache fileContentCache = new FileContentCache();
fileContentCache.setRefreshInterval(5000);//设置定时探测扫描文件时间间隔,单位:毫秒,每个组件只会以daemon模式启动一个线程。
fileContentCache.start("测试缓存组件");
//使用组件方法获取文件内容:第一次从缓存读取
String content = fileContentCache.getFileContent( "/opt/source/Test.java", "UTF-8",FileContentCache.PLAINEncode);//对内容不做任何处理
content = fileContentCache.getFileContent( "/opt/source/Test.java", "UTF-8",FileContentCache.HTMLEncodej);//对html转义存储的文件内容进行还原处理
content = fileContentCache.getFileContent( "/opt/source/Test.java", "UTF-8",FileContentCache.HTMLNoBREncode);//对内容进行html转义处理,忽略回车换行处理
content = fileContentCache.getFileContent( "/opt/source/Test.java", "UTF-8",FileContentCache.HTMLEncode);//对内容进行html转义处理
//后续从缓存读取
content = fileContentCache.getFileContent( "/opt/source/Test.java", "UTF-8",FileContentCache.PLAINEncode);//对内容不做任何处理
content = fileContentCache.getFileContent( "/opt/source/Test.java", "UTF-8",FileContentCache.HTMLEncodej);//对html转义存储的文件内容进行还原处理
content = fileContentCache.getFileContent( "/opt/source/Test.java", "UTF-8",FileContentCache.HTMLNoBREncode);//对内容进行html转义处理,忽略回车换行处理
content = fileContentCache.getFileContent( "/opt/source/Test.java", "UTF-8",FileContentCache.HTMLEncode);//对内容进行html转义处理
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
bboss文件缓存组件FileContentCache包下载
bboss文件缓存组件FileContentCache jar包下载地址:
下载
运行时需要的依赖包可以到以下地址找到:
https://github.com/bbossgroups/bboss/tree/master/bboss-util/lib
bboss文件缓存组件FileContentCache应用案例
bboss文件缓存组件FileContentCache在bboss相关的应用中得到很好的应用:
应用1:
bboss官网中查看demo程序文件源码功能
应用2:
自动代码生成工程在线查看生成的文件源码功能
bboss持久层sql配置文件热加载机制、bboss国际化属性配置文件热加载机制、bboss平台模块菜单配置文件热加载机制也是基于文件缓存组件使用的daemon扫描线程组件实现的。
- 大小: 103 KB
分享到:
相关推荐
负载均衡组件特点: 1.服务负载均衡(目前提供RoundRobin负载算法) 2.服务健康检查 3.服务容灾故障恢复 4.服务自动发现(zk,etcd,consul,eureka,db,其他第三方注册中心) 5.路由规则动态切换 5.分组服务管理 ...
NULL 博文链接:https://yin-bp.iteye.com/blog/1131637
NULL 博文链接:https://yin-bp.iteye.com/blog/2325602
bboss es特点请访问: https://www.oschina.net/p/bboss-elastic
NULL 博文链接:https://yin-bp.iteye.com/blog/2174863
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
bboss会话共享培训文档,学习bboss不可多得的资料,值得拥有。
NULL 博文链接:https://yin-bp.iteye.com/blog/1449900
企业级 J2EE 开源框架:bboss
bboss+es基本操作示例,elasticsearch,bboss,java使用demo
NULL 博文链接:https://yin-bp.iteye.com/blog/926166
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
资源目录: 项目源码(eshelloword.rar) bboss elasticsearch开发入门教程.wmv 搭建bboss elasticsearch开发环境.wmv 说明.txt
对应的配置文件为application.properties文件 多集群测试用例:eshelloword-spring-boot-starter\src\test\java\org\bboss\elasticsearchtest\springboot\MultiBBossESStartersTestCase.java 多集群演示功能测试...
官方版本,亲测可用
浙江移动BBOSS系统快速入门手册V0.1归类.pdf
NULL 博文链接:https://yin-bp.iteye.com/blog/2177475
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。
官方版本,亲测可用
基于java语言比mybatis更实用的orm框架,支持mysql、oracle、postgresql、sqlserver、db2、dm、mongodb