模板计算结果缓存

编辑
  • 文档创建者:文档助手1
  • 浏览次数:6933次
  • 编辑次数:11次
  • 最近更新:Leo.Tsai 于 2019-07-30
  • 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 

    2)设置报表有效缓存时间开启

    菜单栏点击模板>模板 Web 属性>基本,填写报表缓存有效时间即可开启,设置页面如下图所示:

    注:如果设置的缓存有效时间是正数,则有效时间结束,缓存数据清空。如果设置的缓存有效时间是负数,则只要系统没有 GC(Garbage Collections) ,缓存会一直保留。

    Snag_4b34ec0.png



    附件列表


    主题: 性能优化
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]