当前位置:   article > 正文

Springboot_cache 整合redis_springboot1.5 cache 整合redis rediscacheconfiguratio

springboot1.5 cache 整合redis rediscacheconfiguration

github:https://github.com/july1992/springboot_cache

1:  添加依赖

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-data-redis</artifactId>
  4. </dependency>

2: 重写redisconfig ,redis在存储的时候,会默认使用字节去存储,不方便查看,所以重写的目的是将结果转成json

3:  MyRedisConfig

  1. package com.vily.springboot_jpa_cache2.config;
  2. import com.fasterxml.jackson.annotation.JsonAutoDetect;
  3. import com.fasterxml.jackson.annotation.PropertyAccessor;
  4. import com.fasterxml.jackson.databind.ObjectMapper;
  5. import com.vily.springboot_jpa_cache2.bean.User;
  6. import org.springframework.boot.context.properties.ConfigurationProperties;
  7. import org.springframework.context.annotation.Bean;
  8. import org.springframework.context.annotation.Configuration;
  9. import org.springframework.data.redis.cache.RedisCacheConfiguration;
  10. import org.springframework.data.redis.cache.RedisCacheManager;
  11. import org.springframework.data.redis.connection.RedisConnectionFactory;
  12. import org.springframework.data.redis.core.RedisTemplate;
  13. import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
  14. import org.springframework.data.redis.serializer.RedisSerializationContext;
  15. import java.net.UnknownHostException;
  16. /**
  17. *  * description :  创建自己的序列化器,
  18. * 这样子在存redis的时候 就会自动转译成json
  19. *  * Author : Vily
  20. *  * Date : 2019-06-04
  21. *  
  22. **/
  23. @Configuration
  24. public class MyRedisConfig {
  25. public MyRedisConfig() {
  26. }
  27. /**
  28. * 参考RedisAutoConfiguration, 主动缓存调用的时候 转JSON
  29. */
  30. @Bean
  31. public RedisTemplate<Object, User> userRedisTemplate(RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {
  32. RedisTemplate<Object, User> template = new RedisTemplate();
  33. template.setConnectionFactory(redisConnectionFactory);
  34. Jackson2JsonRedisSerializer<User> serializer=new Jackson2JsonRedisSerializer<User>(User.class);
  35. template.setDefaultSerializer(serializer);
  36. return template;
  37. }
  38. /**
  39. * 参考 org.springframework.boot.autoconfigure.cache.RedisCacheConfiguration;
  40. *
  41. * 被动缓存调用的时候 结果转JSON
  42. */
  43. @Bean
  44. public RedisCacheManager userCacheManage(RedisConnectionFactory connectionFactory){
  45. Jackson2JsonRedisSerializer<Object> redisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
  46. ObjectMapper objectMapper = new ObjectMapper();
  47. objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
  48. objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
  49. redisSerializer.setObjectMapper(objectMapper);
  50. RedisCacheConfiguration cacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()
  51. .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(redisSerializer));
  52. RedisCacheManager redisCacheManager = RedisCacheManager.builder(connectionFactory).cacheDefaults(cacheConfiguration).build();
  53. return redisCacheManager;
  54. }
  55. }

4 :  其他的使用  如上篇一致 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/745096
推荐阅读
相关标签
  

闽ICP备14008679号