`

bboss文件缓存组件FileContentCache介绍

阅读更多
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
分享到:
评论

相关推荐

    bboss ioc配置文件中使用外部属性文件介绍

    本文将详细介绍如何在BBoss的IOC配置文件中引用外部属性文件,以便更好地管理和动态配置应用。 首先,BBoss的IOC配置文件通常是一个XML文件,比如`bboss-ioc.xml`,在这个文件中我们可以声明并配置各种bean。当需要...

    bboss mvc文件上传下载实战进阶

    NULL 博文链接:https://yin-bp.iteye.com/blog/1131637

    bboss-http:bboss http 服务组件

    负载均衡组件特点: 1.服务负载均衡(目前提供RoundRobin负载算法) 2.服务健康检查 3.服务容灾故障恢复 4.服务自动发现(zk,etcd,consul,eureka,db,其他第三方注册中心) 5.路由规则动态切换 5.分组服务管理 ...

    bboss 安全认证过滤器功能介绍

    BBoss安全认证过滤器是Java Web开发中一种用于实现用户身份验证和权限控制的重要组件。在Web应用程序中,过滤器(Filter)是Servlet规范的一部分,它允许开发者在请求到达目标Servlet或JSP之前进行预处理,以及在...

    bboss mvcdemo 下载地址

    7. **性能优化**:BBoss MVCDemo对请求处理进行了优化,比如支持缓存机制,可以显著提高应用的响应速度。 8. **易用性与灵活性**:BBoss MVCDemo具有良好的文档支持,提供了丰富的API和示例,降低了学习曲线。同时...

    企业级J2EE开源框架bboss

    1. **组件化开发**:BBoss支持模块化和组件化的开发模式,允许开发者根据项目需求选择必要的功能组件,避免了传统框架中“大而全”的问题,降低了系统的复杂度。 2. **数据库操作**:BBoss提供了便捷的数据访问层...

    springboot整合bboss es增删改查测试demo代码

    对应的配置文件为application.properties文件 多集群测试用例:eshelloword-spring-boot-starter\src\test\java\org\bboss\elasticsearchtest\springboot\MultiBBossESStartersTestCase.java 多集群演示功能测试...

    bboss会话共享培训文档

    bboss会话共享是一种分布式会话管理技术,它针对在集群环境下应用部署时如何解决会话数据丢失和单点登录问题提供了专门的解决方案。根据提供的文档内容,我们可以详细探讨bboss会话共享涉及的关键知识点。 首先,...

    Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿.pptx

    Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿

    bboss elasticsearch-5.7.8.rar

    3. `bboss-util-5.5.0.jar`和`bboss-persistent-5.5.0.jar`:这是BBoss框架的核心组件,提供了许多实用工具类和持久化操作支持,如数据库连接、事务管理等,为Elasticsearch的数据导入提供底层支持。 4. `...

    bboss-elasticsearch开发环境搭建和开发入门视频教程.

    **二、BBoss介绍** BBoss 是一个针对 Elasticsearch 的企业级开发框架,它提供了丰富的 Java API,使得开发者可以更简单地进行索引管理、查询构建、结果分析等操作。BBoss 还支持多版本兼容,方便应对 Elasticsearch...

    bboss+easyui帮助文档比较详细

    1. **BBoss框架入门**:介绍如何安装配置BBoss,以及创建第一个项目的基本步骤。 2. **BBoss核心组件讲解**:详细解析BBoss的各个模块,如DAO、Service、权限控制等的使用方法。 3. **EasyUI组件使用**:讲解如何在...

    bboss-db-elasticsearch-tool-master_java_

    2. **缓存机制**:提供缓存策略,减少对数据库的直接访问,提高性能。 3. **批量操作**:支持数据的批量插入、更新和删除,优化大数据量操作的效率。 4. **动态SQL**:允许在运行时构建和执行SQL,增加了代码的灵活...

    bboss persistent 1.0.2中方便地实现大字段(clob,blob)的处理

    1. **缓存策略**:BBoss Persistent允许开发者自定义缓存策略,以避免一次性加载整个CLOB或BLOB数据。它可以分块读取和写入,减少内存消耗。例如,当读取BLOB数据时,可以设置每次读取的字节数,以控制内存使用。 2...

    由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能

    bboss-datatran 支持多种数据源的接入,如关系型数据库(MySQL、Oracle等)、NoSQL数据库(HBase、MongoDB等)、消息队列(Kafka、RabbitMQ等)以及文件系统(HDFS、FTP等)。通过内置的适配器,用户可以方便地将...

    springboot集成ElasticsearchBboss调用Elasticsearch.md

    springboot集成ElasticsearchBboss调用Elasticsearch的案例分享

    bboss+es基本操作示例.zip

    在`demo`这个文件中,可能包含了使用bboss操作Elasticsearch的基本示例代码。例如,创建索引、插入文档、执行查询等。通常,这些示例会展示如何初始化bboss客户端,如何构造和执行DSL查询,以及如何处理返回结果。 ...

    基于Java的bboss开源框架设计源码

    该项目是基于Java语言的bboss开源框架构建的设计源码,包含3075个文件,涵盖2700个Java源文件、85个XML配置文件、52个HTML文件、39个properties和prefs文件、23个GIF图片、18个Gradle文件、17个gitignore文件、10个...

Global site tag (gtag.js) - Google Analytics