feat: 升级数据集插件版本到1.0.1.2023081101.Alpha,该版本添加了数据集结果和数据集信息的缓存,大幅减少了单个大屏页面刷新时对数据库的请求;添加页面设计信息的缓存

升级数据集插件版本到1.0.1.2023081101.Alpha,该版本添加了数据集结果和数据集信息的缓存,大幅减少了单个大屏页面刷新时对数据库的请求;添加页面设计信息的缓存
main
hong.yang 2 years ago
parent 368eb2e8cf
commit 8318b173f1

@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.gccloud.dataroom.core.module.basic.entity.PageEntity;
import com.gccloud.common.service.ISuperService;
import com.gccloud.common.utils.AssertUtils;
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import org.apache.commons.lang3.StringUtils;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@ -18,6 +21,11 @@ import java.util.stream.Collectors;
*/
public interface IBasePageService extends ISuperService<PageEntity> {
/**
*
*/
Cache<String, PageEntity> PAGE_ENTITY_CACHE = Caffeine.newBuilder().expireAfterWrite(1, TimeUnit.MINUTES).build();
/**
*
*
@ -42,9 +50,16 @@ public interface IBasePageService extends ISuperService<PageEntity> {
*/
default PageEntity getByCode(String code) {
AssertUtils.isTrue(StringUtils.isNotBlank(code), "页面编码不能为空");
PageEntity ifPresent = PAGE_ENTITY_CACHE.getIfPresent(code);
if (ifPresent != null) {
return ifPresent;
}
LambdaQueryWrapper<PageEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PageEntity::getCode, code);
PageEntity pageEntity = getBaseMapper().selectOne(queryWrapper);
if (pageEntity != null) {
PAGE_ENTITY_CACHE.put(code, pageEntity);
}
return pageEntity;
}

@ -59,7 +59,7 @@ public class BaseChartDataService {
return null;
}
IBaseDataSetService dataSetService = dataSetServiceFactory.buildById(dataSetDataSource.getBusinessKey());
DatasetEntity datasetEntity = dataSetService.getById(dataSetDataSource.getBusinessKey());
DatasetEntity datasetEntity = dataSetService.getByIdFromCache(dataSetDataSource.getBusinessKey());
if (datasetEntity == null) {
return null;
}

@ -221,6 +221,7 @@ public class DataRoomPageServiceImpl extends ServiceImpl<DataRoomPageDao, PageEn
AssertUtils.isTrue(!checkNameRepeat(bigScreenEntity), "名称重复");
AssertUtils.isTrue(!checkCodeRepeat(bigScreenEntity), "编码重复");
this.updateById(bigScreenEntity);
PAGE_ENTITY_CACHE.invalidate(bigScreenEntity.getCode());
}
@Override
@ -249,6 +250,7 @@ public class DataRoomPageServiceImpl extends ServiceImpl<DataRoomPageDao, PageEn
LambdaQueryWrapper<PageEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PageEntity::getCode, code);
this.remove(queryWrapper);
PAGE_ENTITY_CACHE.invalidate(code);
// 调用拓展接口
dataRoomExtendClient.deleteByCode(code);
}

@ -60,7 +60,7 @@
<clickhouse.version>0.3.2</clickhouse.version>
<commons-io.version>2.2</commons-io.version>
<okhttp3.version>4.9.1</okhttp3.version>
<dataset.core.version>1.0.1.2023080901.Alpha</dataset.core.version>
<dataset.core.version>1.0.1.2023081101.Alpha</dataset.core.version>
</properties>
<dependencyManagement>

Loading…
Cancel
Save