spring boot 集成redis 配置
来源:互联网 发布:mac下载不在桌面显示 编辑:程序博客网 时间:2024/05/16 15:18
import com.fasterxml.jackson.annotation.JsonAutoDetect;import com.fasterxml.jackson.annotation.PropertyAccessor;import com.fasterxml.jackson.databind.ObjectMapper;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.cache.CacheManager;import org.springframework.cache.annotation.CachingConfigurerSupport;import org.springframework.cache.annotation.EnableCaching;import org.springframework.cache.interceptor.KeyGenerator;import org.springframework.context.annotation.Bean;import org.springframework.data.redis.cache.RedisCacheManager;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;import org.springframework.stereotype.Component;import java.lang.reflect.Method;@Component@EnableCachingpublic class RedisConfig extends CachingConfigurerSupport { @Autowired private YmlConfig ymlConfig; @Bean public KeyGenerator wiselyKeyGenerator(){ return new KeyGenerator() { @Override public Object generate(Object target, Method method, Object... params) { StringBuilder sb = new StringBuilder(); sb.append(target.getClass().getName()); sb.append(method.getName()); for (Object obj : params) { sb.append(obj.toString()); } return sb.toString(); } }; } @Bean public JedisConnectionFactory redisConnectionFactory() { JedisConnectionFactory factory = new JedisConnectionFactory(); factory.setHostName(ymlConfig.getJedis().get("redisHost")); factory.setPort(Integer.valueOf(ymlConfig.getJedis().get("redisPort"))); factory.setPassword(ymlConfig.getJedis().get("redisPassword")); factory.setTimeout(Integer.valueOf(ymlConfig.getJedis().get("timeOut"))); //设置连接超时时间 factory.getPoolConfig().setMaxTotal(Integer.valueOf(ymlConfig.getJedis().get("maxTotal"))); factory.getPoolConfig().setMaxIdle(Integer.valueOf(ymlConfig.getJedis().get("maxIdle"))); factory.getPoolConfig().setMaxWaitMillis(Long.valueOf(ymlConfig.getJedis().get("maxWaitMillis"))); return factory; } @Bean public CacheManager cacheManager(RedisTemplate redisTemplate) { RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate); // Number of seconds before expiration. Defaults to unlimited (0) cacheManager.setDefaultExpiration(10); //设置key-value超时时间 return cacheManager; } @Bean public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory) { StringRedisTemplate template = new StringRedisTemplate(factory); setSerializer(template); //设置序列化工具,这样ReportBean不需要实现Serializable接口 template.afterPropertiesSet(); return template; } private void setSerializer(StringRedisTemplate template) { 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); template.setValueSerializer(jackson2JsonRedisSerializer); }}
阅读全文
1 0
- Spring Boot Redis 集成配置
- spring boot 集成redis 配置
- Spring Boot集成Redis java实现配置
- Spring Boot集成Redis实现自动配置
- Spring Boot Redis 集成
- Spring Boot集成Redis
- spring-boot 集成 redis
- spring boot 集成redis
- Spring boot集成Redis
- Spring Boot 集成Redis
- spring boot集成redis
- 5Spring Boot集成Redis实现自动配置
- spring boot +mybatis+redis集成
- spring-boot-starter-redis 集成
- Spring Boot : 集成redis(九)
- spring-boot-starter-redis 集成
- spring-boot redis 配置
- spring-boot redis配置
- 最大的最大公约数 51Nod
- 安卓自定义View基础08-实现滑动的7种方式详解
- 【项目心得】JS定时器
- spring学习笔记 -- day04 基于注解的配置
- windows下python2和python3共存
- spring boot 集成redis 配置
- 支持多个版本的ASP.NET Core Web API
- 总结的一些小知识点
- spring+springmvc+mybabits框架论坛开发中遇到的问题
- JAVA求字符串数组交集、并集和差集
- 数组指针和指针数组的区别
- 8.14
- tensorflow之axis
- C++基础-string截取、替换、查找子串函数