springboot中创建定时任务
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
org.springframework.boot spring-boot-starter
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--SpringBoot的Redis支持-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
@SpringBootApplication
//在启动类启用定时任务
@EnableScheduling
public class SpringbootRedisApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootRedisApplication.class, args);
}
}
对redis的key value值进行设定
public boolean setIncre(final String key, String value){
boolean result = false;
try {
stringRedisTemplate.opsForValue().set(key,value);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
@Test
public void testSetIncr() {
redisUtils.setIncre("work", "10000000");
}
//对获取指定的key的值加1
public boolean increment(final String key){
boolean result = false;
try {
stringRedisTemplate.opsForValue().increment(key);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
构建定时器
import javax.annotation.Resource;
@Component
public class ScheduleTask {
@Resource
RedisUtils redisUtils;
private static final Logger logger = LoggerFactory.getLogger(ScheduleTask.class);
@Scheduled(cron = "*/6 * * * * ?")
public void execute(){
logger.info("print word");
logger.info(String.valueOf(System.currentTimeMillis()));
redisUtils.increment("work");
}
}