第一步,引入依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
第二步,配置文件中新增redis的配置项yml
## redis配置
redis:
database: 1 # 数据库索引 默认为0
host: 192.168.1.10 # redis服务器地址
port: 6379 # 端口号
password: # 密码(默认为空)
timeout: 5000 # 连接超时时间(毫秒)
jedis:
pool: # 连接池配置
max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 8 # 连接池中的最大空闲连接
min-idle: 0 # 连接池中的最小空闲连接
properties
##Redis 配置
spring.redis.database=13 # Redis数据库索引(默认为0)
spring.redis.host=127.0.0.1 # Redis服务器地址
spring.redis.port=6379 # Redis服务器连接端口
spring.redis.password=123456 # Redis服务器连接密码
spring.redis.jedis.pool.max-active=8 # 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-idle=8 # 连接池中的最大空闲连接
spring.redis.jedis.pool.min-idle=0 # 连接池中的最小空闲连接
spring.redis.timeout=5000 # 连接超时时间(毫秒)
第三步,新增redis配置类文章来源:https://www.toymoban.com/news/detail-618322.html
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
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.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import javax.annotation.Resource;
import java.io.Serializable;
import java.lang.reflect.Method;
import java.util.HashSet;
import java.util.Set;
@Configuration
@EnableCaching // 开启缓存功能
@AutoConfigureAfter(RedisAutoConfiguration.class) // 在加载配置的类之后再加载当前类
public class RedisConfig extends CachingConfigurerSupport {
@Resource
private LettuceConnectionFactory lettuceConnectionFactory;
public RedisConfig(){}
@Bean
public RedisTemplate<String, Serializable> redisCacheTemplate(LettuceConnectionFactory redisConnectionFactory){
//初始化一个redis模板
RedisTemplate<String,Serializable> template = new RedisTemplate<>();
// key采用String的序列化方式
template.setKeySerializer(new StringRedisSerializer());
// value序列化方式采用jackson
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
// hash的key也采用String的序列化方式
template.setHashKeySerializer(new StringRedisSerializer());
// hash的value序列化方式采用jackson
template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
template.setConnectionFactory(redisConnectionFactory);
return template;
}
@Bean
public CacheManager cacheManager(){
RedisCacheManager.RedisCacheManagerBuilder builder = RedisCacheManager.RedisCacheManagerBuilder
.fromConnectionFactory(lettuceConnectionFactory);
@SuppressWarnings("serial")
Set<String> cacheNames = new HashSet<String>();
cacheNames.add("codeNameCache");
builder.initialCacheNames(cacheNames);
return builder.build();
}
@Bean
public KeyGenerator keyGenerator(){
return new KeyGenerator() {
@Override
public Object generate(Object target, Method method, Object... params) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(target.getClass().getName());
for (Object obj : params) {
stringBuffer.append(obj.toString());
}
return stringBuffer.toString();
}
};
}
}
@EnableCaching
作用:开启缓存@AutoConfigureAfter
作用:在加载配置的类之后再加载当前类文章来源地址https://www.toymoban.com/news/detail-618322.html
到了这里,关于SpringBoot整合redis的配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!