SpringBoot整合Redis
- 引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
- 编写application.properties配置文件
#Redis服务器地址
spring.redis.host=你的redis服务器(如果是本地,127.0.0.1)
#Redis服务器连接端口
spring.redis.port=6379
#Redis密码
spring.redis.password=你的redis密码(默认是没有密码,没有设置的话可以忽略这行)
#Redis数据库索引(默认位0)
spring.redis.database=1 #这里我使用的是1号库,默认是0
#连接超时时间(毫秒)
spring.redis.timeout=1800000
#连接池最大连接数(使用负值表示没有限制)
spring.redis.lettuce.pool.max-active=20
#最大阻塞等待时间(复数表示没有限制)
spring.redis.lettuce.pool.max-wait=-1
#连接池中的最大空闲连接
spring.redis.lettuce.pool.max-idle=5
#连接池中的最小空闲连接
spring.redis.lettuce.pool.min-idle=0
- 编写redis配置类
@Configuration
@EnableCaching
public class RedisConfig {
@Bean
public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory factory){
RedisTemplate<String,Object> template = new RedisTemplate <>();
template.setConnectionFactory(factory);
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om);
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
template.setKeySerializer(stringRedisSerializer);
template.setHashKeySerializer(stringRedisSerializer);
template.setValueSerializer(jackson2JsonRedisSerializer);
template.setHashValueSerializer(jackson2JsonRedisSerializer);
template.afterPropertiesSet();
return template;
}
}
- 编写controller测试
@RestController
@RequestMapping("/test")
public class TestController {
@Autowired
private RedisTemplate redisTemplate;
@GetMapping("/hello")
public String hello(){
redisTemplate.opsForValue().set("name","zhangsan");
String value = (String) redisTemplate.opsForValue().get("name");
return value;
}
}
- 测试结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9e63bb4df03aa8296bfe72e3ab3e8a0e.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c9ea5e271a8310ddac3074b1efb04156.png)