首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OLAP Saiku缓存过期

OLAP Saiku缓存过期
EN

Stack Overflow用户
提问于 2013-03-22 20:36:32
回答 2查看 1.5K关注 0票数 1

我正在使用Saiku和PHPAnalytics在我的多维数据集上运行MDX查询。看起来,如果我运行查询,一切都很好,缓存也很好。但是如果我花了2个小时再次运行这些查询--它没有使用缓存!为什么?我需要缓存保存很长时间!该怎么办呢?我尝试添加此ti mondrian.properties mondrian.rolap.CachePool.costLimit = 2147483647

但是没有帮助。要做什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-10 03:07:57

Mondrian的默认内存缓存将内容存储在WeakHashMap中。这意味着它可以由JVM的垃圾收集器自行清除。大多数应用程序服务器都设置为定期执行垃圾收集(通常每小时左右)。您必须调整JVM的配置以不执行此操作。

-Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000

您还可以实现自己的SegmentCache SPI缓存实现。如果您的实现使用硬引用,它们将永远不会被收集。这更难做,需要你做相当多的研究才能把它做好。您可以从查看default implementation开始,然后从那里开始。

票数 1
EN

Stack Overflow用户

发布于 2013-06-26 04:17:53

mondrian缓存应该会缓存起来,直到缓存被故意刷新。也就是说,它使用一个老化的系统来确定应该缓存什么,如果它耗尽了存储数据的内存,最旧的查询将被推出缓存并替换。

我没有尝试过PHPAnalytics之类的东西,但也许他们已经对Saiku服务器进行了一些调用,以定期刷新缓存,否则这种情况就不会发生。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15570498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档