Springboot搭建使用redis作缓存的开发环境(详细定制)

快速体验缓存
  •  步骤:
    
  •  1、开启基于注解的缓存 @EnableCaching
    
  •  2、标注缓存注解即可
    
  •  @Cacheable
    
  •  @CacheEvict
    
  •  @CachePut
    

默认使用的是ConcurrentMapCacheManager==ConcurrentMapCache;将数据保存在 ConcurrentMap<Object, Object>中

使用redis替换默认缓存管理器
  • 引入starter(略) ,引入启动器后redis就可以使用,利用相应的redisTemplate即可操作redis(自动注入)

  • 配置redis主机地址

    spring.redis.host=118.24.44.169
    
  • 自定义序列化器(使用json序列化替换默认的 jdk序列化(重量级))

    //此段代码可以抄RedisAutoConfiguration下的配置 只需更改设置Jackson2JsonRedisSerializer即可,再将RedisTemplate添加到容器即可
    //在使用时注意自动注入的策略,引入已配置的bean即可完成序列化器替换
    @Bean
        public RedisTemplate<Object, Employee> empRedisTemplate(
                RedisConnectionFactory redisConnectionFactory)
                throws UnknownHostException {
            RedisTemplate<Object, Employee> template = new RedisTemplate<Object, Employee>();
            template.setConnectionFactory(redisConnectionFactory);
            Jackson2JsonRedisSerializer<Employee> ser = new Jackson2JsonRedisSerializer<Employee>(Employee.class);
            template.setDefaultSerializer(ser);
            return template;
        }
    
  • 自定义CacheManager
    注意:在引入redis启动器的时候,RedisCacheManager也已经添加到容器中,默认的缓存管理器已被替换,但是默认的RedisCacheManager使用的是默认的RedisTemplate,想要使用自己的RedisTemplate(例如,使用json序列化)就需要自定义CacheManager

    //此段代码可以参考RedisCacheConfiguration下 缓存管理器的配置
        @Primary  //将某个缓存管理器作为默认的
        @Bean
        public RedisCacheManager employeeCacheManager(RedisTemplate<Object, Employee> empRedisTemplate/*此处将自动注入我们的自定义的RedisTemplate*/){
            RedisCacheManager cacheManager = new RedisCacheManager(empRedisTemplate);
            //key多了一个前缀
    
            //使用前缀,默认会将CacheName作为key的前缀
            cacheManager.setUsePrefix(true);
    
            return cacheManager;
        }
    

这样就替换了默认的RedisCacheManager

当我们配置多个缓存管理器的时候,可在使用缓存的时候指定要使用的缓存管理器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值