1.导入Redis依赖
org.springframework.boot
spring-boot-starter-data-redis
org.apache.commons
commons-pool2
1.2:编写Redis配置
spring:
redis:
#超时时间
timeout: 10000ms
#服务器ip
host: 127.0.0.1
#服务器端口
port: 6379
database: 0
#连接池配置
lettuce:
pool:
#最大连接数 默认8
max-active: 1024
#最大等待时间,默认-1
max-wait: 10000ms
#最大空闲连接
max-idle: 200
#最小空闲连接
min-idle: 5
1.3:编写Redis配置类
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
RedisTemplate redisTemplate = new RedisTemplate<>();
//String类型 key序列器
redisTemplate.setKeySerializer(new StringRedisSerializer());
//String类型 value序列器
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
//String类型 key序列器
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
//String类型 value序列器
redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
//将工厂加载到Redis模版
redisTemplate.setConnectionFactory(redisConnectionFactory);
return redisTemplate;
}
}
2.编写RedisDemo
//查询redis里是否有bannerImg
ValueOperations valueOperations = redisTemplate.opsForValue();
List bannerImg = ((List)valueOperations.get("bannerImg"));
System.out.println("成功从Redis中取出"+bannerImg);
//如果没有将从数据库查询
if (CollectionUtils.isEmpty(bannerImg)){
//在数据库中查询并输出
bannerImg = indexBannerMapper.queryIndexImg();
System.out.println("成功从数据库中取出"+bannerImg);
//并将其存到Redis中
valueOperations.set("bannerImg",bannerImg);
}
2.1运行结果: