Spring Boot 中 对话 Redis
在Spring Boot中使用Redis进行会话管理,你可以使用Spring Session for Redis。以下是一个简单的例子:
- 添加依赖到你的
pom.xml
:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
</dependencies>
- 配置
application.properties
或application.yml
以连接到Redis服务器:
# application.properties
spring.redis.host=localhost
spring.redis.port=6379
- 在Spring Boot应用中使用Redis进行会话管理:
import org.springframework.context.annotation.Configuration;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
@Configuration
@EnableRedisHttpSession // 启用Redis作为HTTP会话存储
public class RedisSessionConfig {
}
现在,Spring Boot应用会自动使用Redis来管理HTTP会话。你可以像处理普通的HTTP会话那样使用HttpSession
,Spring会自动将其存储在Redis中。
例如,设置和获取session属性:
import javax.servlet.http.HttpSession;
@RestController
public class SessionController {
@GetMapping("/setSession")
public String setSession(HttpSession session) {
session.setAttribute("key", "value");
return "Session attribute set";
}
@GetMapping("/getSession")
public String getSession(HttpSession session) {
return (String) session.getAttribute("key");
}
}
访问/setSession
将在会话中设置一个属性,访问/getSession
将获取该属性并返回。所有会话数据都将存储在Redis中,并且可以在不同的应用服务器实例之间共享。
评论已关闭