帮我用springboot实现将登录用户存到redis中
时间: 2024-03-01 18:52:22 浏览: 23
好的,可以按照以下步骤来实现将登录用户存到redis中:
1. 添加 redis 相关依赖
在 pom.xml 文件中添加以下 redis 相关依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.3.0</version>
</dependency>
```
2. 配置 redis
在 application.properties 文件中添加以下 redis 相关配置:
```properties
# Redis配置
spring.redis.host=127.0.0.1 # Redis服务器地址
spring.redis.port=6379 # Redis服务器连接端口
spring.redis.password= # Redis服务器连接密码(默认为空)
spring.redis.database=0 # Redis数据库索引(默认为0)
spring.redis.timeout=10000 # 连接超时时间(毫秒)
spring.redis.jedis.pool.max-active=8 # 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-idle=8 # 连接池最大空闲数
spring.redis.jedis.pool.min-idle=0 # 连接池最小空闲数
spring.redis.jedis.pool.max-wait=-1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
```
3. 编写登录接口
在登录接口中,将登录用户存储到 redis 中。可以使用 RedisTemplate 或者 Jedis 来进行操作。
```java
@RestController
public class LoginController {
@Autowired
private RedisTemplate<String, Object> redisTemplate; // 使用 RedisTemplate
@PostMapping("/login")
public void login(@RequestParam String username, @RequestParam String password) {
// 登录成功后,将用户信息存储到 redis 中
User user = new User(username, password);
redisTemplate.opsForValue().set(username, user);
}
}
```
```java
@RestController
public class LoginController {
@Autowired
private JedisPool jedisPool; // 使用 Jedis
@PostMapping("/login")
public void login(@RequestParam String username, @RequestParam String password) {
// 登录成功后,将用户信息存储到 redis 中
User user = new User(username, password);
try (Jedis jedis = jedisPool.getResource()) {
jedis.set(username, JSON.toJSONString(user));
}
}
}
```
注意:这里的 User 类只是一个示例,实际使用中需要根据业务需求进行更改。
以上就是将登录用户存储到 redis 中的实现方法。