本文演示SpringBoot整合Redis。
一、项目搭建
新建一个SpringBoot项目,引入依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.60</version>
</dependency>
</dependencies>
二、配置文件
配置项目端口号,添加Redis简要配置信息:
server:
port: 8989
spring:
redis:
host: 127.0.0.1
database: 1
port: 6379
password:
三、数据准备
使用Redis可视化工具,在db1中插入记录:
四、编码实现
①编写Redis配置类:
@Configuration
public class RedisConfig {
@Bean("redisTemplate")
@SuppressWarnings("all")
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
StringRedisSerializer redisKeySerializer = new StringRedisSerializer();
GenericFastJsonRedisSerializer redisValueSerializer = new GenericFastJsonRedisSerializer();
redisTemplate.setConnectionFactory(factory);
// 序列化 key 和 value
redisTemplate.setKeySerializer(redisKeySerializer);
redisTemplate.setValueSerializer(redisValueSerializer);
redisTemplate.setHashKeySerializer(redisKeySerializer);
redisTemplate.setHashValueSerializer(redisValueSerializer);
return redisTemplate;
}
}
②编写Controller类及测试请求方法:
@RestController
@RequestMapping("/")
public class RedisController {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
@PostMapping("getByKey")
public List<String> getByKey(){
List<String> list = (List<String>)redisTemplate.opsForValue().get("test");
return list;
}
}
③启动类
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
④测试请求及响应:
测试验证OK。