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执行之后,刷新缓存

  • 相关阅读:
    Codeforces 451A Game With Sticks
    POJ 3624 Charm Bracelet
    POJ 2127 Greatest Common Increasing Subsequence
    POJ 1458 Common Subsequence
    HDU 1087 Super Jumping! Jumping! Jumping!
    HDU 1698
    HDU 1754
    POJ 1724
    POJ 1201
    CSUOJ 1256
  • 原文地址:https://www.cnblogs.com/liqiu/p/5581957.html
Copyright © 2011-2022 走看看