1. 引入pom
-
<!-- Spring Data Redis的启动器 -->
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter-data-redis</artifactId>
-
<exclusions>
-
<exclusion>
-
<groupId>io.lettuce</groupId>
-
<artifactId>lettuce-core</artifactId>
-
</exclusion>
-
</exclusions>
-
</dependency>
-
<dependency>
-
<groupId>redis.clients</groupId>
-
<artifactId>jedis</artifactId>
-
</dependency>
2. application.properties 配置文件
-
#===========Redis配置===========
-
# Redis数据库索引(默认为0)
-
spring.redis.database=0
-
# Redis服务器地址
-
spring.redis.host=127.0.0.1
-
# Redis服务器连接端口
-
spring.redis.port=6379
-
# Redis服务器连接密码(默认为空)
-
spring.redis.password=root
-
# 连接池最大连接数(使用负值表示没有限制)
-
spring.redis.pool.max-active=200
-
# 连接池最大阻塞等待时间(使用负值表示没有限制)
-
spring.redis.pool.max-wait=-1
-
# 连接池中的最大空闲连接
-
spring.redis.pool.max-idle=10
-
# 连接池中的最小空闲连接
-
spring.redis.pool.min-idle=0
-
# 连接超时时间(毫秒)
-
spring.redis.timeout=2000ms
-
spring.redis.jedis.pool.max-wait=-1ms
-
#===========Redis配置===========
3. config 配置类
-
package org.fh.config;
-
-
import org.springframework.context.annotation.Bean;
-
import org.springframework.context.annotation.Configuration;
-
import org.springframework.data.redis.connection.RedisConnectionFactory;
-
import org.springframework.data.redis.core.RedisTemplate;
-
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
-
import org.springframework.data.redis.serializer.StringRedisSerializer;
-
-
import com.fasterxml.jackson.databind.ObjectMapper;
-
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
-
import com.fasterxml.jackson.annotation.PropertyAccessor;
-
import com.fasterxml.jackson.annotation.JsonAutoDetect;
-
-
/**
-
* 说明:Redis
-
* 作者:FH Admin
-
* java:www fhadmin org
-
*/
-
@Configuration
-
public class RedisConfig {
-
-
@Bean
-
@SuppressWarnings("all")
-
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
-
RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();
-
template.setConnectionFactory(factory);
-
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
-
ObjectMapper om = new ObjectMapper();
-
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
-
om.activateDefaultTyping(LaissezFaireSubTypeValidator.instance , ObjectMapper.DefaultTyping.NON_FINAL);
-
jackson2JsonRedisSerializer.setObjectMapper(om);
-
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
-
// key采用String的序列化方式
-
template.setKeySerializer(stringRedisSerializer);
-
// hash的key也采用String的序列化方式
-
template.setHashKeySerializer(stringRedisSerializer);
-
// value序列化方式采用jackson
-
template.setValueSerializer(jackson2JsonRedisSerializer);
-
// hash的value序列化方式采用jackson
-
template.setHashValueSerializer(jackson2JsonRedisSerializer);
-
template.afterPropertiesSet();
-
return template;
-
}
-
-
}
阅读(3256) | 评论(0) | 转发(0) |