SpringBoot 2.0.2.RELEASE 整合Redis

    最新在学习SpringBoot ,想要看看怎么整合Redis,网上找了一堆教程,无奈各种无法使用,前前后后耽误了快一周的时间,直到昨天才发现原来是版本的原因,笔者用的是SpringBoot 2.0.2.RELEASE版本的,跟1.x版本的API出入很大,下面是详细步骤,希望能帮助有需要的童鞋少踩坑。

 1 添加依赖 一个依赖就足够了 

 SpringBoot 2.0.2.RELEASE 整合Redis_第1张图片

2 Redis连接配置(单机版,集群版请自行百度)

 SpringBoot 2.0.2.RELEASE 整合Redis_第2张图片 

3 无需做Redis的配置类  直接使用就好了

SpringBoot 2.0.2.RELEASE 整合Redis_第3张图片

4 操作String类型数据没问题,操作散列时存在乱码 还是决定加个配置类  设置序列化

@Bean
public RedisTemplate redisTemplate( ) {
    //设置序列化
    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);
    // 配置redisTemplate
    RedisTemplate redisTemplate = new RedisTemplate();
    redisTemplate.setConnectionFactory(redisConnectFactory());
    RedisSerializer stringSerializer = new StringRedisSerializer();
    redisTemplate.setKeySerializer(stringSerializer); // key序列化
    redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); // value序列化
    redisTemplate.setHashKeySerializer(stringSerializer); // Hash key序列化
    redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); // Hash value序列化
    redisTemplate.afterPropertiesSet();
    return redisTemplate;
}

@Bean
public RedisConnectionFactory redisConnectFactory(){
    RedisStandaloneConfiguration config=new RedisStandaloneConfiguration();
    config.setDatabase(database);
    config.setHostName(host);
    config.setPort(port);
    JedisConnectionFactory connectionFactory = new JedisConnectionFactory(config);
    return connectionFactory;
}

@Bean
public CacheManager cacheManager(){
    RedisCacheManager cacheManager = RedisCacheManager.builder(redisConnectFactory()).build();
    return cacheManager;
}

好了  可以进行redis操作了! 

你可能感兴趣的:(SpringBoot 2.0.2.RELEASE 整合Redis)