查看 Spring Boot 文档,我只找到了使用 Redis 会话的示例,是否可以在没有Redis 的情况下使用它?
3 回答
正如另一个答案中所说:是的,您可以通过更改SessionRepository
实现来更改 Session 持久性后端。
而且,Spring-Session 提供了一个内置的替代方案MapSessionRepository
,您可以将会话保存在Map
.
在 Spring Session 的示例中,有一个使用 Hazelcast作为持久化后端的示例。它正在利用上述MapSessionRepository
与Map
Hazelcast 创建的实例。
我知道我对这个问题有点晚了,但只是发布以防其他人偶然发现这个问题。
从 Spring Session 1.2.0 开始,内置了一个 JDBC 会话存储库,可以像这样使用:
@Configuration
@EnableJdbcHttpSession // default session length and DB table name can be included on the annotation
public class SessionConfiguration {
// code goes here if needed
}
在 Spring Session JAR 中,org.springframework.session.jdbc 包具有 SQL 脚本,用于为许多不同的 DBMS(MySQL、Postgre 等)创建表结构。
我在 Spring Session 1.2.0 里程碑版本中开始使用 JDBC 功能,在此过程中我没有遇到任何问题。
您可以使用任何您想要存储会话的技术。Spring Session 提供了SessionRepository
你必须实现的接口来存储和检索会话。因此,只需使用您的存储技术创建该接口的实现,并将该实现配置为 Spring bean。