是否可以在没有 Redis 的情况下使用 Spring 引导会话?
Is it possible to use Spring Boot session without Redis?
查看 Spring 引导文档,我只找到了使用 Redis 会话的示例,是否可以在 没有 Redis 的情况下使用它?
您可以使用任何您想要存储会话的技术。 Spring 会话提供了接口 SessionRepository
,您必须实现该接口才能存储和检索会话。因此,只需使用您的存储技术创建该接口的实现并将该实现配置为 Spring bean。
如另一个答案所述:是的,您可以通过更改 SessionRepository
实现来更改会话持久性后端。
并且,Spring-Session 提供了一个内置替代方案,即 MapSessionRepository
,您可以将其保存在 Map
.
中
在 Spring 会话的示例中,有一个 sample using Hazelcast 作为持久性后端。它利用上述 MapSessionRepository
和 Hazelcast 创建的 Map
实例。
我知道我问这个问题有点晚了,但只是发帖以防其他人偶然发现这个问题。
从 Spring 会话 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 会话 JAR 中,org.springframework.session.jdbc 包有 SQL 脚本来为许多不同的 DBMS 创建 table 结构(MySQL,Postgre等)
我开始使用 Spring Session 1.2.0 里程碑版本中的 JDBC 功能,一路上我没有遇到任何问题。
查看 Spring 引导文档,我只找到了使用 Redis 会话的示例,是否可以在 没有 Redis 的情况下使用它?
您可以使用任何您想要存储会话的技术。 Spring 会话提供了接口 SessionRepository
,您必须实现该接口才能存储和检索会话。因此,只需使用您的存储技术创建该接口的实现并将该实现配置为 Spring bean。
如另一个答案所述:是的,您可以通过更改 SessionRepository
实现来更改会话持久性后端。
并且,Spring-Session 提供了一个内置替代方案,即 MapSessionRepository
,您可以将其保存在 Map
.
在 Spring 会话的示例中,有一个 sample using Hazelcast 作为持久性后端。它利用上述 MapSessionRepository
和 Hazelcast 创建的 Map
实例。
我知道我问这个问题有点晚了,但只是发帖以防其他人偶然发现这个问题。
从 Spring 会话 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 会话 JAR 中,org.springframework.session.jdbc 包有 SQL 脚本来为许多不同的 DBMS 创建 table 结构(MySQL,Postgre等)
我开始使用 Spring Session 1.2.0 里程碑版本中的 JDBC 功能,一路上我没有遇到任何问题。