【发布时间】:2016-03-22 04:33:03
【问题描述】:
我在使用 Spring 将会话存储在 redis 中的困境中,有很多方法和概念可以处理这个问题。下面列出了一些方法:
- Spring Data Redis
- 春季会议
- 春季会话管理器
现在的问题是使用 spring 在 redis 中存储(删除等)会话的最佳组合是什么。
如果有人帮我做一个简单的解释,我将不胜感激。
【问题讨论】:
我在使用 Spring 将会话存储在 redis 中的困境中,有很多方法和概念可以处理这个问题。下面列出了一些方法:
现在的问题是使用 spring 在 redis 中存储(删除等)会话的最佳组合是什么。
如果有人帮我做一个简单的解释,我将不胜感激。
【问题讨论】:
你有点困惑:
- Spring Data Redis 提供从任何类型的 Spring 应用程序对 Redis 的轻松配置和访问。它实现了与 Redis 存储交互的低级和高级抽象。简而言之 - 只是实现 Redis 客户端库。
- Spring Session 提供用于管理用户会话信息的 API 和实现。
- Spring Session Management 只是一个与 HTTP 会话相关的功能,专注于并发控制、过滤和身份验证策略,不能按原样与 Redis 一起使用。它仅适用于接口。
使用 Spring 框架,您正在使用 Spring Session。您只需将其配置为使用 Redis 作为后端,如 official documentation sample 和 sample project 与 Spring 应用程序中的 Redis 会话。
【讨论】:
如果您使用的是 Spring Boot,那么您的应用程序所需的更改非常简单。
添加如下依赖并在application.properties中添加redis连接配置即可。
<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>
我在https://springhow.com/spring-boot-security/session-redis/ 有一篇关于此的详细信息
【讨论】: