<强>遵循SpringBoot三板斧
强>
<强>第一步加依赖强>
& lt; !——复述,比; & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-data-redis & lt;/dependency> & lt; !——复述,依赖commons-pool这个依赖一定要添加——比; & lt; dependency> & lt; groupId> org.apache.commons & lt; artifactId> commons-pool2 & lt; version> 2.6.0 & lt;/dependency>
<强>第二步写注解强>
@EnableCaching//开启缓存支持
<强>第三步写配置强>
春天: 复述: 数据库:0 主持人:192.168.1.11 端口:6379 密码: 超时:600 生菜: 池: max-active: 50 最大等待:1 最大空闲:8 min-idle: 0
<强>编写复述,配置类强>
/* * * @Author:佐 * @Date: 2019/11/3 14:12 * @Description: SpringBoot2.0复述,缓存配置 * @EnableCaching:开启缓存支持 */@Slf4j @ configuration @EnableCaching 公开课RedisConfig延伸CachingConfigurerSupport { @ value (" $ {sys.dataCaching.expireTime: 0} ") 私人int expireTime; @ 私人LettuceConnectionFactory LettuceConnectionFactory; @Override @ bean 公共KeyGenerator KeyGenerator(){//设置自定义关键{名称+ methodName + params} 返回(目标、方法、参数)→{ StringBuilder某人=new StringBuilder (); sb.append (target.getClass () . getname ()); sb.append(“,方法:”); sb.append (method.getName ()); sb.append (" Params ["); for (int i=0;我& lt;params.length;我+ +){ sb.append (params[我].toString ()); 如果我!=(参数。长度- 1)){ sb.append (", "); } } sb.append (“]”); log.debug(“数据缓存复述,关键:{}”,sb.toString ()); 返回sb.toString (); }; }//自定义keyGenerator、关键生成器 @ bean 公共KeyGenerator updateByIdkeyGenerator () { 返回(目标、方法、参数)→{ StringBuilder某人=new StringBuilder (); sb.append (target.getClass () . getname ()); sb.append(“,方法:”); sb.append (“getById”); sb.append (" Params ["); 尝试{ 字段id=params [0] .getClass () .getDeclaredField (" id "); id.setAccessible(真正的); sb.append (id.get (params [0]) .toString ()); }捕捉(IllegalAccessException e) { e.printStackTrace (); }捕捉(NoSuchFieldException e) { e.printStackTrace (); } sb.append (“]”); log.debug(“数据缓存复述,关键:{}”,sb.toString ()); 返回sb.toString (); }; }//自定义keyGenerator、关键生成器 @ bean 公共KeyGenerator deleteByIdkeyGenerator () { 返回(目标、方法、参数)→{ StringBuilder某人=new StringBuilder (); sb.append (target.getClass () . getname ()); sb.append(“,方法:”); sb.append (“getById”); sb.append (" Params ["); for (int i=0;我& lt;params.length;我+ +){ sb.append (params[我].toString ()); 如果我!=(参数。长度- 1)){ sb.append (", "); } } sb.append (“]”); log.debug(“数据缓存复述,关键:{}”,sb.toString ()); 返回sb.toString (); }; } @ bean 公共缓存管理器缓存管理器(RedisConnectionFactory RedisConnectionFactory) { RedisCacheConfiguration RedisCacheConfiguration=RedisCacheConfiguration.defaultCacheConfig ();//设置缓存过期时间 如果(expireTime比;0){ log.info(“复述,缓存过期时间:{}”,expireTime);//设置缓存有效期秒 redisCacheConfiguration.entryTtl (Duration.ofSeconds (expireTime)); 其他}{ log.info(“复述,未设置缓存过期时间”); } 返回RedisCacheManager .builder (RedisCacheWriter.nonLockingRedisCacheWriter (redisConnectionFactory)) .cacheDefaults (redisCacheConfiguration) .build (); } @ bean 公共RedisTemplate<字符串,Object>redisTemplate (RedisConnectionFactory工厂){//创建redisTemplate//设置序列化 Jackson2JsonRedisSerializer