1 概述
缓存是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速率很快。
...
通过优化数据模型的缓存机制,可以加速报表的访问,降低数据库的压力。
信息 |
---|
1、数据模型设置的缓存有效期只针对:仪表盘、透视分析、即席查询、模型查询。 3、数据模型里面表/查询的数据预览、整个模型数据预览不走数据模型设置的缓存失效时间。 |
2 功能介绍
1、在模型的工具栏上增加了”清空缓存“按钮,可以基于单个模型进行清空缓存,每次清空缓存的操作都会被记录在操作日志中。
2、在数据模型中可以设置缓存策略。如果是禁用缓存,每次取数都会重新取数。 如果是 启用缓存 在缓存有效期内,如果查询字段或值(比如筛选器的条件)未改动,再次访问时将直接从缓存中获取数据。
3、缓存策略:系统配置项、 禁用缓存、启动缓存3个选项, 默认选项:系统配置项。
选项 | 内容 |
---|
默认选项:系统配置项;可以选择 禁用缓存、启动缓存。
如果是禁用缓存,每次取数都会重新取数。 如果是 启用缓存 则取缓存。
启用缓存 |
- cube定义和维度成员继续缓存,从数据库中加载结果集数据的sql不缓存。
- 更新模型、重抽数据 自动清理缓存
- 如果 清理缓存 同时会清理 cube定义和维度成员 的缓存。
- 如果是抽取模式,设置 禁用缓存 没有意义;所以抽取的时候都认为是启用缓存,同时产品本身在更新抽取时是会清空缓存。
- 直接启用,如果不触发清理服务器缓存的话,缓存一直存在。
- 内存不足的时候,系统会自动回收。
- 点击 运维设置/系统选项 的 “清空缓存”可以一起清理引擎的缓存。
- 更新模型或重抽会自动清理缓存。
问题1:访问报表时,什么情况下访问缓存?
用户在访问报告时,系统会自动判断该报告中各图表是否存在缓存,若存在,则会读取缓存数据,若不存在则访问数据库进行取数,并生成对应缓存。
而当用户点击图表或报告的刷新按钮时,不管缓存是否存在,系统都会重新访问数据库以获得最新数据并生成对应缓存。
问题1: 为什么打开报表时,图表经常需要加载一段时间才能显示?
...
模式都支持 启用缓存 1、抽取模式下:
2、直连模型下:
| |
禁用缓存 | 1、禁用缓存:不管是 抽取 还是 直连 模式每次请求都会发送新的请求,重新读取数据。
2、抽取模式下:
3、如果在报表层,比如仪表盘:
|
系统配置 | 默认读取运维设置/系统选项/性能优化/数据模型中的设置项值,跟着系统选项改变。 |