第一步,引入依赖。
<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
版权归原作者 一个冬天的童话 所有, 如有侵权,请联系我们删除。
版权归原作者 一个冬天的童话 所有, 如有侵权,请联系我们删除。