最新在学习SpringBoot ,想要看看怎么整合Redis,网上找了一堆教程,无奈各种无法使用,前前后后耽误了快一周的时间,直到昨天才发现原来是版本的原因,笔者用的是SpringBoot 2.0.2.RELEASE版本的,跟1.x版本的API出入很大,下面是详细步骤,希望能帮助有需要的童鞋少踩坑。
1 添加依赖 一个依赖就足够了
2 Redis连接配置(单机版,集群版请自行百度)
3 无需做Redis的配置类 直接使用就好了
4 操作String类型数据没问题,操作散列时存在乱码 还是决定加个配置类 设置序列化
@Bean public RedisTemplate<String, Object> 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<String, Object> redisTemplate = new RedisTemplate<String, Object>(); 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操作了!