写一个方法,springboot 中向redis 存入对象,再取出
时间: 2023-08-12 07:05:02 浏览: 160
可以通过使用 Spring Data Redis 提供的 RedisTemplate 对象来实现 Redis 存取对象的功能。
首先需要在 pom.xml 文件中添加 Redis 相关依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
```
接下来定义一个对象,例如一个 User 类:
```java
public class User {
private String id;
private String name;
// getter 和 setter 方法
}
```
然后在 Spring Boot 的配置文件 application.properties 中添加 Redis 连接信息:
```properties
# Redis
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=
spring.redis.database=0
```
接着定义一个 RedisService 类,提供存取对象的方法:
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
@Service
public class RedisService {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
public void saveUser(User user) {
redisTemplate.opsForValue().set(user.getId(), user);
}
public User getUser(String id) {
return (User) redisTemplate.opsForValue().get(id);
}
}
```
在上面的代码中,我们通过 @Autowired 注解注入了 RedisTemplate 对象,在 saveUser 方法中使用 opsForValue() 方法获取 Redis 的 Value 操作对象,然后调用 set 方法存储对象,getUser 方法中通过 get 方法获取对象。
最后在需要存取对象的地方使用 RedisService 对象即可:
```java
@RestController
public class UserController {
@Autowired
private RedisService redisService;
@RequestMapping("/saveUser")
public String saveUser() {
User user = new User();
user.setId("1");
user.setName("Tom");
redisService.saveUser(user);
return "success";
}
@RequestMapping("/getUser")
public User getUser(String id) {
return redisService.getUser(id);
}
}
```
这里我们定义了两个接口,一个是保存用户信息的 saveUser 接口,另一个是获取用户信息的 getUser 接口。使用 Postman 等工具可以模拟请求这两个接口,从而实现 Redis 存取对象的功能。
阅读全文