zoukankan      html  css  js  c++  java
  • 【Spring Boot】 Spring Boot 2.x 版本 CacheManager 配置方式

    Spring Boot 1.X RedisCacheManager 配置方式

    @Bean
    public CacheManager cacheManager(RedisTemplate redisTemplate) {
        RedisCacheManager cacheManager= new RedisCacheManager(redisTemplate);
        cacheManager.setDefaultExpiration(60);
        Map<String,Long> expiresMap=new HashMap<>();
        expiresMap.put("Product",5L);
        cacheManager.setExpires(expiresMap);
        return cacheManager;
    }

    Spring Boot 2.X RedisCacheManager 配置方式

      /**
         * SpringBoot 2.X 版本配置方式
         *
         * @param redisConnectionFactory
         * @return
         */
        @Bean
        public CacheManager redisCacheManager(RedisConnectionFactory redisConnectionFactory) {
            RedisSerializer<String> redisSerializer = new StringRedisSerializer();
            Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
            //  解决查询缓存转换异常的问题
            ObjectMapper om = new ObjectMapper();
            om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
            om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
            jackson2JsonRedisSerializer.setObjectMapper(om);
            CacheKeyPrefix keyPrefix = new CacheKeyPrefix() {
                @Override
                public String compute(String cacheName) {
                    return cacheName + "::";
                }
            };
            RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig()
              //失效时间 .entryTtl(Duration.ofMinutes(
    3)) .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(redisSerializer)) .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jackson2JsonRedisSerializer)) .disableCachingNullValues(); return RedisCacheManager.builder(redisConnectionFactory) .cacheDefaults(config) .build(); }
  • 相关阅读:
    10.并发包阻塞队列之ArrayBlockingQueue
    【PHP】最详细PHP从入门到精通(三)——PHP中的数组
    新随笔222
    新随笔
    iOS常用加密算法介绍和代码实践
    5.在MVC中使用泛型仓储模式和工作单元来进行增删查改
    Directx11学习笔记【二十】 使用DirectX Tool Kit加载mesh
    什么是Dagger2
    嗯嗯

  • 原文地址:https://www.cnblogs.com/EveningWind/p/11617271.html
Copyright © 2011-2022 走看看