查看Sping Boot 文档,我只找到了使用Redis会话的示例,是否可以在没有Redis的情况下使用它?
wi3ka0sx1#
正如另一个答案所说:是的,您可以通过更改SessionRepository实现来更改Session持久性后端。而且,Spring-Session提供了一个内置的替代方案,即MapSessionRepository,您可以将会话保存在Map中。在Spring Session的示例中,有一个sample using Hazelcast作为持久化后端。它利用了上面提到的MapSessionRepository和Hazelcast创建的Map示例。
SessionRepository
MapSessionRepository
Map
idfiyjo82#
我知道我有点晚了这个问题,但只是张贴在情况下,其他人偶然发现这个问题。从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 }
在SpringSessionJAR中,org.springframework.session.jdbc包包含SQL脚本,可以为许多不同的DBMS(MySQL、Postgre等)创建表结构我在SpringSession1.2.0里程碑版本中开始使用JDBC功能,一路沿着没有遇到任何问题。
gpnt7bae3#
你可以使用任何你想要的技术来存储会话。Spring Session提供了接口SessionRepository,你必须实现它来存储和检索会话。所以只需使用你的存储技术创建该接口的实现,并将该实现配置为Spring bean。
guicsvcw4#
在Redis,JDBC等中存储spring session的想法是消除存储在容器中的http session(例如Tomcat)。当http session存储在容器中时,在集群/云环境中容器之间共享会话变得很麻烦。负载平衡无法有效。任何支持分布式,内存,缓存等的f/w都可以考虑用于存储spring session。如果你的部署架构是多容器一个数据库,那么就选择jdbc,否则redis应该没问题。Oracle Caching Framework Reference https://docs.oracle.com/cd/A97335_02/caching.102/a88706/ic_intro.htm
4条答案
按热度按时间wi3ka0sx1#
正如另一个答案所说:是的,您可以通过更改
SessionRepository
实现来更改Session持久性后端。而且,Spring-Session提供了一个内置的替代方案,即
MapSessionRepository
,您可以将会话保存在Map
中。在Spring Session的示例中,有一个sample using Hazelcast作为持久化后端。它利用了上面提到的
MapSessionRepository
和Hazelcast创建的Map
示例。idfiyjo82#
我知道我有点晚了这个问题,但只是张贴在情况下,其他人偶然发现这个问题。
从Spring Session 1.2.0开始,有一个内置的JDBC会话存储库,可以像这样使用:
在SpringSessionJAR中,org.springframework.session.jdbc包包含SQL脚本,可以为许多不同的DBMS(MySQL、Postgre等)创建表结构
我在SpringSession1.2.0里程碑版本中开始使用JDBC功能,一路沿着没有遇到任何问题。
gpnt7bae3#
你可以使用任何你想要的技术来存储会话。Spring Session提供了接口
SessionRepository
,你必须实现它来存储和检索会话。所以只需使用你的存储技术创建该接口的实现,并将该实现配置为Spring bean。guicsvcw4#
在Redis,JDBC等中存储spring session的想法是消除存储在容器中的http session(例如Tomcat)。当http session存储在容器中时,在集群/云环境中容器之间共享会话变得很麻烦。负载平衡无法有效。任何支持分布式,内存,缓存等的f/w都可以考虑用于存储spring session。
如果你的部署架构是多容器一个数据库,那么就选择jdbc,否则redis应该没问题。
Oracle Caching Framework Reference https://docs.oracle.com/cd/A97335_02/caching.102/a88706/ic_intro.htm