页面树结构
转至元数据结尾
转至元数据起始

(本文档仅供参考)

问题说明

        希望使用“计划任务”,去定时清理缓存,达到与系统运维中“清空缓存”入口相同的效果。

解决方案

        使用计划任务,定时清理系统缓存,可参考如下任务代码。(注:对于v10.5 2022-10-22和之后的版本支持清空数据模型的缓存,2022-10-22之前的版本不支持清空数据模型的缓存。)        

importPackage(Packages.smartbi.sdk.service.pool);
importPackage(Packages.smartbi.freequery.client.config);
importPackage(Packages.smartbi.composite);

var poolService = new PoolService(connector);
poolService.clearPoolByName("DBSQLResultStorePool");
poolService.clearPoolByName("ExecutedReportPool");

var objList =new Array();
connector.remoteInvoke("ConfigClientService", "clearCache", objList );
connector.remoteInvoke("ClearPoolCacheService", "clearCache", objList );
connector.remoteInvoke("CompositeService", "clearCache", objList );
connector.remoteInvoke("InsightService", "cleanTempTablePool", objList );

补充说明

        上述示例代码中,调用的各项接口对应的缓存内容如下。

        1、ConfigClientService.clearCache

             包括连接池,ehcache,多语言,用户属性,服务器jshtmlcss等静态文件,地图区域,缓存字段,redis,操作日志等。

        2ClearPoolCacheService.clearCache()
             
包括对象池,hsql的缓存。

        3、CompositeModule.clearCache

             同ConfigClientService.clearCache。

        4、InsightService.cleanTempTablePool

             清空所有的透视临时表缓存。

        关于清除“数据模型”缓存,其包含在ConfigClientService.clearCache中,建议是将上述代码一起调用,避免出现没有清理完全的情况。


  • 无标签