Redis,对于大家来说应该不陌生,是经常使用的开发技术之一。原始的RDBMS关系型数据库,能够存储海量的数据,但是在某些特殊的情况下,性能并不是特别的好,例如热点数据的读写,数据缓存等。Redis作为NoSQL中的一员,基于内存数据存储,支持多种数据结构,单线程处理,是一款高性能的可持久化key-value数据库。对于Redis就不做过多介绍了,相信大家或多或少都了解过,下面重点描述SpringBoot如何与Redis进行整合,若是大神,请一笑而过。
项目搭建
还是和之前一样,我们先来搭建项目,先学会如何使用,再来具体了解其中的内容和原理。
项目版本:SpringBoot (2.1.4)
首先,引入redis依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--redis连接池依赖-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.6.1</version>
</dependency>
根据版本的不一致,引入方式可能不一样,若导入失败,请使用spring-boot-starter-redis。
application.properties:
#redis地址
spring.redis.host=192.168.159.129
#redis客户端lettuce配置
#最大连接数,负数表示无限制
spring.redis.lettuce.pool.max-active=8
#最大等待,负数表示无限制
spring.redis.lettuce.pool.max-wait=-1
#shutdown超时
spring.redis.lettuce.shutdown-timeout=100
#最大空闲连接数,负数表示无限制
spring.redis.lettuce.pool.max-idle=8
#最小空闲连接数
spring.redis.lettuce.pool.min-idle=0
更多配置信息,后文继续讲解。
启动类SpringbootRedisApplication:
@SpringBootApplication
@RestController
public class SpringbootRedisApplication {
/**
* 注入StringRedisTemplate
*/
private final StringRedisTemplate stringRedisTemplate;
@Autowired
public SpringbootRedisApplication(StringRedisTemplate stringRedisTemplate) {
this.stringRedisTemplate = stringRedisTemplate;
}
public static void main(String[] args) {
SpringApplication.run(SpringbootRedisApplication.class, args);
}
@GetMapping("/name")
public String get(){