Redis spring会话bean未更新



我正试图在春季启动应用程序中将http会话切换到redis。当第一个请求到达后端时,它将被身份验证过滤器过滤。这个过滤器的一个职责是用数据填充用户会话bean。在这一步中,会话成功地保存到了redis实例中,但没有调用更改的增量(应该包括会话bean(。我想指出的是,通过在tomcat上存储会话,会话bean可以正常工作。

那么,为什么OnePerRequest过滤器上填充的会话bean没有更新为会话的增量呢?

您尝试过以下配置吗?

@Configuration
@EnableRedisHttpSession(saveMode = SaveMode.ALWAYS)
public class RedisSessionConfig {
}

尝试将刷新模式更改为IMMEDIATE,默认情况下为ON_SAVE,这意味着您必须明确保存会话,或者在托管环境中,这发生在序列化响应之前(我认为(。

src/main/resources/application.properties中,您可以执行:

spring.session.redis.flush-mode=immediate

或者使用@EnableRedisHttpSession do:

@EnableRedisHttpSession(redisFlushMode = RedisFlushMode.IMMEDIATE)

最新更新