天天看點

saiku緩存整理

使用saiku的人,肯定都有這麼一個經曆,查詢了一次多元分析資料表,第二次之後就特别快,因為它緩存了結果,可問題是過了一天,甚至幾天,來源資料早都更換了,可還是這個緩存結果。問題來了,緩存不失效!

那麼如何解決這個問題呐?我總結了兩個辦法:

一、不使用緩存

這個方案修改起來特别簡單:修改mandrian配置檔案tomcat/webapps/saiku/WEB-INF/classes/mondrian.properties,設定失效即可。mondrian.rolap.star.disableCaching=true。

可是這種方案基本不能應用到生産環境,因為資料太大,且是全局屬性,在特定的開發環境或許可以用一用

二、定時更新緩存

這個方案略複雜,需要自己寫curl指令,模拟管理者點選重新整理緩存。

#!/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"      

繼續閱讀