zoukankan      html  css  js  c++  java
  • saiku缓存整理

    使用saiku的人,肯定都有这么一个经历,查询了一次多维分析数据表,第二次之后就特别快,因为它缓存了结果,可问题是过了一天,甚至几天,来源数据早都更换了,可还是这个缓存结果。问题来了,缓存不失效!

    那么如何解决这个问题呐?我总结了两个办法:

    一、不使用缓存

    这个方案修改起来特别简单:修改mandrian配置文件tomcat/webapps/saiku/WEB-INF/classes/mondrian.properties,设置失效即可。mondrian.rolap.star.disableCaching=true。

    可是这种方案基本不能应用到生产环境,因为数据太大,且是全局属性,在特定的开发环境或许可以用一用

    二、定时更新缓存

    这个方案略复杂,需要自己写curl命令,模拟管理员点击刷新缓存。

    在saiku的管理页面,有一个刷新缓存的按钮,点击之后,会找到这个ajax请求:/saiku/rest/saiku/admin/datasources/mini_com_order_detail/refresh 其中mini_com_order_detail是立方体的名称,更换即可。

    这个方法,模拟管理员登录是核心,需要下载cookie,然后访问这个链接,我把代码粘贴上来,大家参考:

    #!/bin/bash
    #获取时间参数
    
    curl -c ./cookie.txt -d "language=zh&password=admin&username=admin" http://***.qunar.com:8080/saiku/rest/saiku/session
    curl -b ./cookie.txt "http://***.qunar.com:8080/saiku/rest/saiku/admin/datasources/%E4%B8%80%E6%97%A5%E6%B8%B8/refresh"

    那么这个任务我会在etl执行之后,刷新缓存

  • 相关阅读:
    [概率论]2017.5.9
    [概率论] 2017 5.2
    [离散数学II]2017.5.2
    [离散数学II]2017.4.25
    [概率论]2017.4.19
    [概率论] 2017.4.18
    [离散数学II]2017.4.18
    [离散数学II]2017.4.11
    [概率论]2017.4.12
    [概率论]2017.4.5
  • 原文地址:https://www.cnblogs.com/liqiu/p/5581957.html
Copyright © 2011-2022 走看看