Springboot2.x 集成Redis

Springboot2.x 集成Redis

Springboot1.5–>2.x 版本升級

具體可查看

Redis緩存變動

  1. 首先就是pom.xml導入依賴文件時由jedis

    <dependency>
          <groupId>redis.clients</groupId>
          <artifactId>jedis</artifactId>
        </dependency>	
    

    變更爲lettuce-core:

    <dependency>
          <groupId>io.lettuce</groupId>
          <artifactId>lettuce-core</artifactId>
          <version>5.0.4.RELEASE</version>
          <scope>compile</scope>
        </dependency>									
    

Redis 的三個框架

  1. 具體到RedisCacheConfiguration配置類中,由Spingboot1.5的
@ConditionalOnBean(RedisTemplate.class)

​ 變更爲Springboot2.x的

@ConditionalOnClass(RedisConnectionFactory.class)
@ConditionalOnBean(RedisConnectionFactory.class)
  1. 因爲1的原因 ,在RedisAutoConfigurationn中,將註解@ConditionalOnClass中的加在Jedis的部分刪去了,取而代之的是用
@ConditionalOnClass(RedisOperations.class)
@Import({ LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class })

代替,而RedisOperations.class 其實就是RedisTemplate(RedisTemplate/StringRedisTemplate)本身。

示例代碼

@Configuration
public class RedisConf {
    @Bean
    public RedisTemplate<Object, User> userRedisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate<Object, User> template = new RedisTemplate<>();
        template.setConnectionFactory(redisConnectionFactory);
        Jackson2JsonRedisSerializer<User> userJackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<User>(User.class);
        template.setDefaultSerializer(userJackson2JsonRedisSerializer);
        return template;
    }
    @Bean
    public RedisCacheManager userRedisCacheManager(RedisConnectionFactory redisConnectionFactory){
        RedisCacheManager.RedisCacheManagerBuilder builder = RedisCacheManager
                .builder(redisConnectionFactory);
        return builder.build();
    }
}

Github

demo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章