package com.chinaztt.mes.common.util; import com.chinaztt.mes.common.aop.MybatisPlusDeleteAspect; import com.chinaztt.mes.common.wrapper.ResultMapHelper; import lombok.AllArgsConstructor; import org.springframework.boot.CommandLineRunner; import org.springframework.data.redis.connection.RedisConnection; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; import java.util.Set; /** * 启动时候清空缓存 * * @Author: zhangxy * @Date: 2020-09-24 9:37 */ @Component @AllArgsConstructor public class CacheClearRunner implements CommandLineRunner { private RedisTemplate redisTemplate; @Override public void run(String... args) { List list = new ArrayList<>(); list.add("*" + ResultMapHelper.CACHE_KEY + "*"); list.add("*" + MybatisPlusDeleteAspect.CACHE_KEY + "*"); RedisConnection connection = redisTemplate.getConnectionFactory().getConnection(); for(String key : list) { Set caches = connection.keys(key.getBytes()); if (!caches.isEmpty()) { connection.del(caches.toArray(new byte[][]{})); } } } }