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(); }
  • 相关阅读:
    [置顶] 国外程序员推荐:每个程序员都应读的书
    Android入门(2) 基本控件介绍、4种布局
    Struts2标签之<s:select>
    百度地图API学习总结
    Environment
    SD卡中文件夹和文件的操作
    Webpack v4.8.3 快速入门指南
    javascript代码模块化解决方案
    MVC,MVP 和 MVVM 的图示 阮一峰
    webpack Uncaught ReferenceError: Swiper is not defined
  • 原文地址:https://www.cnblogs.com/EveningWind/p/11617271.html
Copyright © 2011-2022 走看看