P1 Spring Boot定时器,运行实例

本文介绍了一种通过定时任务来更新热门标签的策略,避免了每次主页访问时进行数据库查询的高延迟,采用异步离线计算提升性能,确保响应速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:实现热门标签

分析:需要设计算法,热门算法有很多,包括各种权重值,热度。如果使用ES,ES是支持热度的权重去搜索。先用简单的做。
为什么引入定时器?如果客户每次客户访问主页,都去数据库group一下,是一个非常延迟的任务。在随着性能,响应时间逐渐增加,通常倾向于把它制作成异步的离线任务,当它计算完成之后,回写结果,制作成一个API形式。
官方网址:https://spring.io/guides/gs/scheduling-tasks/
在这里插入图片描述

package life.majiang.community.schedule;

import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 热门标签定时器,此处是测试定时任务(每隔5秒打印日志)
 * 注意:需在main方法的那个类上添加@EnableScheduling注解
 */
@Component
@Slf4j
public class HotTagTasks {
    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
    @Scheduled(fixedRate = 5000)
    public void reportCurrentTime() {
        log.info("The time is now {}", dateFormat.format(new Date()));
    }
}

注意添加启动项:
在这里插入图片描述
测试结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值