皕杰技术社区

 找回密码
 立即加入

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1527|回复: 10

[文档] 皕杰报表缓存机制

[复制链接]
发表于 2019-12-20 14:12:53 | 显示全部楼层 |阅读模式
一、关于缓存
缓存实际上是为了减轻数据库服务器的负载,使用缓存,我们可以将一些常用的数据放入缓存,因为这些数据经常性的使用,大大增加了服务器的负载,但是当放入缓存后,在使用这些数据的时候,首先会从缓存中查找,如果缓存中有就读取,不会再到数据库中查找,如果缓存中没有,才会到数据库中查询,在这里,需要注意的是,ehcache的是将数据放入jvm内存中,也就是说当次缓存在本次服务器启动期间有效,下次服务器启动将会失效。
二、原理

三、皕杰报表缓存配置
在皕杰报表里,在使用缓存的时候,有两种缓存模式:一种是java缓存框架EhCache、还有一种是皕杰报表自己开发的缓存框架。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即加入

x
 楼主| 发表于 2019-12-20 14:16:51 | 显示全部楼层
因为EhCache是第三方的缓存框架,在使用的时候可能产生架包冲突。在<cache>标签里加上eh='false',作用是在缓存过程中是使用皕杰报表自己开发的缓存框架。
皕杰报表缓存配置主要是在报表web环境的report_config.xml配置文件中。
  1. <!-- 系统运行模式,允许设置的值: develop | product
  2.                    develop: 开发模式,不启用报表缓存功能,实时刷新数据和报表模板,方便开发调试。
  3.                    product: 生产模式,开启报表缓存功能,提高性能。
  4.          -->
  5.         <runMode>develop</runMode>
  6.         
  7.         <!-- 缓存 -->
  8.         <cache>
  9.                 <maxElements>150</maxElements> <!-- 内存中缓存的最大对象数 -->
  10.                 <liveTime>1800</liveTime> <!-- 生命周期(秒) -->
  11.                 <timeout>600</timeout> <!-- 过期时间(秒) -->
  12.                
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-20 14:17:54 | 显示全部楼层
  1. <useDisk>false</useDisk> <!-- 是否使用硬盘缓存 -->
  2.                
  3.                 <!-- 配置硬盘缓存的路径,最大对象数,缓冲区大小(M) -->
  4.                 <!--
  5.                 <diskStorekCfg>
  6.                         <path>d:/temp</path>
  7.                         <maxElements>100000</maxElements>
  8.                         <bufferSize>8</bufferSize>
  9.                 </diskStorekCfg>
  10.                 -->
  11.                
  12.                
复制代码


回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-20 14:17:56 | 显示全部楼层
  1. <useDisk>false</useDisk> <!-- 是否使用硬盘缓存 -->
  2.                
  3.                 <!-- 配置硬盘缓存的路径,最大对象数,缓冲区大小(M) -->
  4.                 <!--
  5.                 <diskStorekCfg>
  6.                         <path>d:/temp</path>
  7.                         <maxElements>100000</maxElements>
  8.                         <bufferSize>8</bufferSize>
  9.                 </diskStorekCfg>
  10.                 -->
  11.                
  12.                
复制代码


回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-20 14:18:22 | 显示全部楼层
  1. <!-- 集群缓存配置:
  2.                         listener:当前缓存节点的 IP及端口,如果各个缓存节点的IP各不相同,则无需配置该节点(保持为空或注释掉该节点)
  3.                         provider:全部缓存节点的 IP及端口,用逗号隔开
  4.                 <cluster>
  5.                         <listener>192.168.1.10:40000</listener>
  6.                         <provider>192.168.1.10:40000,192.168.1.15:40000</provider>
  7.                 </cluster>
  8.                 -->
  9.                
  10.                 <!-- 可配置多个缓存组 -->
  11.                 <!--
  12.                 <group name="cache2" maxElements="150" liveTime="1800" timeout="600"/>
  13.                 <group name="cache3" maxElements="50" liveTime="36000" timeout="18000">rpts/*.brt</group>
  14.                  -->
  15.         </cache>
复制代码


回复 支持 反对

使用道具 举报

发表于 2019-12-20 16:11:05 | 显示全部楼层
回复

使用道具 举报

发表于 2019-12-31 16:13:29 | 显示全部楼层
这个缓存机制3.5支持么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-2 11:07:27 | 显示全部楼层
bijieSMS 发表于 2019-12-31 16:13
这个缓存机制3.5支持么

支持,但是5.2支持的功能最多
回复 支持 反对

使用道具 举报

发表于 2020-1-7 14:18:36 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

发表于 2020-4-2 12:48:56 | 显示全部楼层
软件版本更替更快,更加完善了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

QQ|小黑屋|手机版|皕杰软件 ( 京ICP备14050931号 )

GMT+8, 2024-12-28 16:27 , Processed in 1.096742 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表