perf: 对查询仪表盘访问趋势信息接口增加缓存处理

This commit is contained in:
Charles7c 2023-09-09 22:12:18 +08:00
parent a1c20afb1b
commit 1722133ac4
3 changed files with 11 additions and 2 deletions

View File

@ -52,4 +52,9 @@ public class CacheConsts {
* 菜单缓存键前缀 * 菜单缓存键前缀
*/ */
public static final String MENU_KEY_PREFIX = "MENU"; public static final String MENU_KEY_PREFIX = "MENU";
/**
* 仪表盘缓存键前缀
*/
public static final String DASHBOARD_KEY_PREFIX = "DASHBOARD";
} }

View File

@ -22,13 +22,15 @@ import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import top.charles7c.cnadmin.common.constant.CacheConsts;
import top.charles7c.cnadmin.monitor.model.vo.DashboardAccessTrendVO; import top.charles7c.cnadmin.monitor.model.vo.DashboardAccessTrendVO;
import top.charles7c.cnadmin.monitor.model.vo.DashboardGeoDistributionVO; import top.charles7c.cnadmin.monitor.model.vo.DashboardGeoDistributionVO;
import top.charles7c.cnadmin.monitor.model.vo.DashboardPopularModuleVO; import top.charles7c.cnadmin.monitor.model.vo.DashboardPopularModuleVO;
@ -44,9 +46,9 @@ import top.charles7c.cnadmin.system.service.AnnouncementService;
* @author Charles7c * @author Charles7c
* @since 2023/9/8 21:32 * @since 2023/9/8 21:32
*/ */
@Slf4j
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@CacheConfig(cacheNames = CacheConsts.DASHBOARD_KEY_PREFIX)
public class DashboardServiceImpl implements DashboardService { public class DashboardServiceImpl implements DashboardService {
private final LogService logService; private final LogService logService;
@ -65,6 +67,7 @@ public class DashboardServiceImpl implements DashboardService {
} }
@Override @Override
@Cacheable(key = "#days")
public List<DashboardAccessTrendVO> listAccessTrend(Integer days) { public List<DashboardAccessTrendVO> listAccessTrend(Integer days) {
return logService.listDashboardAccessTrend(days); return logService.listDashboardAccessTrend(days);
} }

View File

@ -17,6 +17,7 @@
COUNT(DISTINCT `client_ip`) AS ipCount COUNT(DISTINCT `client_ip`) AS ipCount
FROM `sys_log` FROM `sys_log`
GROUP BY DATE(`create_time`) GROUP BY DATE(`create_time`)
HAVING `date` != CURDATE()
ORDER BY DATE(`create_time`) DESC ORDER BY DATE(`create_time`) DESC
LIMIT #{days} LIMIT #{days}
</select> </select>