0


SpringBoot整合redis的配置

第一步,引入依赖。

<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配置类

importorg.springframework.boot.autoconfigure.AutoConfigureAfter;importorg.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;importorg.springframework.cache.CacheManager;importorg.springframework.cache.annotation.CachingConfigurerSupport;importorg.springframework.cache.annotation.EnableCaching;importorg.springframework.cache.interceptor.KeyGenerator;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.data.redis.cache.RedisCacheManager;importorg.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;importorg.springframework.data.redis.core.RedisTemplate;importorg.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;importorg.springframework.data.redis.serializer.StringRedisSerializer;importjavax.annotation.Resource;importjava.io.Serializable;importjava.lang.reflect.Method;importjava.util.HashSet;importjava.util.Set;@Configuration@EnableCaching// 开启缓存功能@AutoConfigureAfter(RedisAutoConfiguration.class)// 在加载配置的类之后再加载当前类publicclassRedisConfigextendsCachingConfigurerSupport{@ResourceprivateLettuceConnectionFactory lettuceConnectionFactory;publicRedisConfig(){}@BeanpublicRedisTemplate<String,Serializable>redisCacheTemplate(LettuceConnectionFactory redisConnectionFactory){//初始化一个redis模板RedisTemplate<String,Serializable> template =newRedisTemplate<>();// key采用String的序列化方式
        template.setKeySerializer(newStringRedisSerializer());// value序列化方式采用jackson
        template.setValueSerializer(newGenericJackson2JsonRedisSerializer());// hash的key也采用String的序列化方式
        template.setHashKeySerializer(newStringRedisSerializer());// hash的value序列化方式采用jackson
        template.setHashValueSerializer(newGenericJackson2JsonRedisSerializer());
        template.setConnectionFactory(redisConnectionFactory);return template;}@BeanpublicCacheManagercacheManager(){RedisCacheManager.RedisCacheManagerBuilder builder =RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(lettuceConnectionFactory);@SuppressWarnings("serial")Set<String> cacheNames =newHashSet<String>();
        cacheNames.add("codeNameCache");
        builder.initialCacheNames(cacheNames);return builder.build();}@BeanpublicKeyGeneratorkeyGenerator(){returnnewKeyGenerator(){@OverridepublicObjectgenerate(Object target,Method method,Object... params){StringBuffer stringBuffer =newStringBuffer();
                stringBuffer.append(target.getClass().getName());for(Object obj : params){
                    stringBuffer.append(obj.toString());}return stringBuffer.toString();}};}}
@EnableCaching

作用:开启缓存

@AutoConfigureAfter

作用:在加载配置的类之后再加载当前类


本文转载自: https://blog.csdn.net/m0_53563908/article/details/129179123
版权归原作者 一个冬天的童话 所有, 如有侵权,请联系我们删除。

“SpringBoot整合redis的配置”的评论:

还没有评论