1. 描述编辑
对报表进行访问时,若模板的数据计算量很大,每次访问都会从服务器端重新读取数据进行计算,这样就加大了服务器的压力并且导致访问报表的速度变慢。
为此可以设置模板计算结果缓存,当访问过的模板再次被访问时,该模板直接从缓存中读取计算结果,以此来减小服务器的压力以及提升报表的访问速度。
2. 原理编辑
下面以图示说明模板计算结果缓存的基本原理:
客户端 A 访问服务器上的报表设计模板,从数据库中读取,生成想要的模板结果文件,缓存到某处,并传回客户端 A。
而客户 B 访问服务器此模板时,若返回的结果与客户端 A 访问返回的结果相同,则不从数据库中读取,而是直接读取A缓存的模板数据,然后传回客户端 B。
注1:目前只支持 cpt 模板计算结果缓存。
注2:读取模板计算结果缓存必须满足:同一张模板且拥有相同的参数。
3. 开启方式编辑
模板计算结果缓存有两种开启方式,且这两种开启方式的缓存数据有效期不同。下面具体说明:
1)使用__cache__参数开启
在访问报表的路径后加 &__cache__=true,表示该报表启用计算结果缓存,如:
http://localhost:8075/webroot/decision/view/report?viewlet=GettingStarted.cpt&__cache__=true
注1:只要系统没有 GC(Garbage Collections) ,缓存会一直保留。
注2:只有在访问模板的 URL 后加 &__cache__=true,才会生成缓存数据,并且也只有在 URL 后加 &__cache__=true 时,才会从缓存中读取数据。
2)设置报表有效缓存时间开启
菜单栏点击模板>模板 Web 属性>基本,填写报表缓存有效时间即可开启,设置页面如下图所示:
注:如果设置的缓存有效时间是正数,则有效时间结束,缓存数据清空。如果设置的缓存有效时间是负数,则只要系统没有 GC(Garbage Collections) ,缓存会一直保留。