Saiku缓存处理(七)
Saiku缓存处理方案
Saiku默认是从缓存中读取数据的(如果缓存中有数据的话),所以用户看到的数据不一定是最新的,如果需要看到最新的的数据需要手动刷新数据或者更改配置信息。
Saiku获取实时数据的方案有以下三种。
>>>获取saiku实时数据方案一:通过admin点击刷新按钮刷新缓存
以管理员 admin的身份登录saiku,点击新建查询进入页面后会看到一个刷新按钮,点击这个按钮就能刷新缓存了。(这种方案不推荐,因为会比较麻烦,每次都用管理员去登录系统操作。)

>>>获取saiku实时数据方案二:通过更改配置文件mondrian.properties不使用缓存
修改配置文件 mondrian.properties (文件路径:saiku-server\tomcat\webapps\saiku\WEB-INF\classes\mondrian.properties )
将注释打开,并修改 mondrian.rolap.star.disableCaching的值为true,表示不使用缓存(这种方案不推荐,因为数据量大的时候会导致saiku使用性能没那么好。)
###############################################################################
# Boolean property that controls whether a RolapStar's
# aggregate data cache is cleared after each query.
# If true, no RolapStar will cache aggregate data from one
# query to the next (the cache is cleared after each query).
#
#mondrian.rolap.star.disableCaching=false
修改之后的mondrian.properties关于缓存的配置
###############################################################################
# Boolean property that controls whether a RolapStar's
# aggregate data cache is cleared after each query.
# If true, no RolapStar will cache aggregate data from one
# query to the next (the cache is cleared after each query).
#
mondrian.rolap.star.disableCaching=true
>>> 获取saiku实时数据方案三:通过编写脚本指定saiku刷新缓存
定时手动刷新saiku缓存信息,也就是通过编写脚本让saiku在指定时间执行刷新(这个脚本的来源 主要参考方案一点击刷新时发送的请求) (推荐使用)
建议可以在数据库中数据有变化是时,执行此脚本(例如在[ETL]抽完数之后执行)
新建脚本内容如下: saiku_refresh.sh
#!/bin/bash curl -c ./cookie.txt -d "language=zh&password=admin&username=admin" http://10.22.33.44:8080/saiku/rest/saiku/session
curl -b ./cookie.txt "http://10.22.33.44:8080/saiku/rest/saiku/admin/discover/refresh"
其中 10.22.33.44:8080 #是我安装的saiku的访问地址
curl -c ./cookie.txt -d "language=zh&password=admin&username=admin" http://10.22.33.44:8080/saiku/rest/saiku/session #获取cookies信息,没有指定saiku可以无密码登录的时候需要执行password与username
curl -b ./cookie.txt "http://10.22.33.44:8080/saiku/rest/saiku/admin/discover/refresh" #这是主要的执行刷新操作的语句啦
ps:注意上方的 password username 一定是saiku本身的密码以及用户信息哦!!!(因为如果你的登录接口除了使用saiku本身的校验还调用了其他接口WS类似的接口校验,只能使用saiku本身的用户及密码信息刷新哦!!!!)
最后通过 sh saiku_refresh.sh 执行此脚本,便能实现刷新换缓存中的数据啦!!!
Saiku缓存处理(七)的更多相关文章
- saiku缓存整理
使用saiku的人,肯定都有这么一个经历,查询了一次多维分析数据表,第二次之后就特别快,因为它缓存了结果,可问题是过了一天,甚至几天,来源数据早都更换了,可还是这个缓存结果.问题来了,缓存不失效! 那 ...
- 【Mybatis】MyBatis之缓存(七)
MyBatis缓存介绍 Mybatis 使用到了两种缓存:一级缓存(本地缓存.local cache)和二级缓存(second level cache). 一级缓存:基于PerpetualCache ...
- Mybatis之一级缓存(七)
1. 介绍 Mybatis缓存分为一级缓存和二级缓存,在本节中我们介绍下一级缓存的使用及其特性 MyBatis的一级缓存是在一个Session域内有效的,当Session关闭后,缓存内容也随之销毁.缓 ...
- Mybatis之二级缓存(八)
1. 介绍 Mybatis缓存分为一级缓存和二级缓存,在本节中我们介绍下二级缓存的使用及其特性 MyBatis的一级缓存是在一个Session域内有效的,当Session关闭后,缓存内容也随之销毁.但 ...
- linux(六)__进程与任务控制
一.程序.进程.线程 1.程序是一个普通文件,是一系列指令和数据的集合,是一个静态的实体,是程序员写好之后存储于外设之上的代码.它是"死"的,而进程和程序都是"活&quo ...
- 理解OAuth 2.0
转自:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛 ...
- RedHat Enterprise Linux 6.4 使用 Centos 6 的yum(转)
概述 redhat的yum源需注册付费,费时费力,整理RedHat yum 安装CentOS的方法. 安装系统文件 系统:RedHat Enterprise Linux 6.4-x86_64 md5: ...
- 解决redhat的未注册问题
昨天安装第五步的时候:开始是没有网,,,居然ping不通 网 ,服务器也ping不通,,,,,可能和我前几天删除了网络适配器有关,,把linux桥接对应的适配器给删了,,, 解决办法是打开虚拟网络 ...
- 理解OAuth 2.0(转载)
作者: 阮一峰 原文地址:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html OAuth是一个关于授权(authorization)的开放网络标 ...
随机推荐
- AD绘制PCB时,贴片封装器件的焊盘间距小于10Mil,报错解决
Design->Rules->Manufacturing->Minimum Solder Mask Sliver
- Java se基础(类的属性及关键字)
public:说明该类的访问类型是公有的,它生成的对象能被其他的对象调用! abstract:用来声明抽象类! final;如果一个类被声明成final类型,那么就不能再由它派生出子类. 可以简单的看 ...
- Python 数字(Number)
Python 数字(Number) Python 数字数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间. 以下实例在变量赋值时 Number 对象 ...
- 20165327 2017-2018-2 《Java程序设计》第一周学习总结
第1章 Java入门 一.Java 的特点 简单 面向对象 平台无关 多线程:允许同时完成多个任务 动态:Java程序的基本组成单元就是类(有些类是自己编写的,有一些是从类库中引入的,而类又是运行时动 ...
- LeetCode--443--压缩字符串(未看)
问题描述: 给定一组字符,使用原地算法将其压缩. 压缩后的长度必须始终小于或等于原数组长度. 数组的每个元素应该是长度为1 的字符(不是 int 整数类型). 在完成原地修改输入数组后,返回数组的新长 ...
- chrome 自动加载flash
class Login(unittest.TestCase): #初始 def setUp(self): chromeOpitons = Options() prefs = { # "pro ...
- 第二阶段——个人工作总结DAY09
1.昨天做了什么:昨天学习了有关后台的知识. 2.今天打算做什么:实现后台. 3.遇到的困难:还是不知道该如何来做.
- yum源仓库搭建
系统:centos7 一.安装nginx yum install -y nginx yum install -y createrepo 安装建yum源仓库的工具,可以用来建立yum仓库yum ...
- javascript作用域、闭包、对象与原型链
原文作者总结得特别好,自己收藏一下.^-^ 1.作用域1.1函数作用域JS的在函数中定义的局部变量只对这个函数内部可见,称之谓函数作用域.它没有块级作用域(因此if.for等语句中的花括号不是独立作用 ...
- python-day76--django-中间件
什么是中间件?中间件应用场景?和装饰器区别? 中间件 对于所有批量的请求用中间件合适,而对于某些请求个数少用装饰器合适 - 中间件是什么? - 是一个类 - 方法名必须是process_request ...