【问题标题】:Redis spring session bean not updatedRedis Spring会话bean未更新
【发布时间】:2021-02-13 19:17:04
【问题描述】:

我正在尝试在我的 Spring Boot 应用程序中将我的 http 会话切换到 redis。 当第一个请求到达后端时,它会被身份验证过滤器过滤。 此过滤器的一项职责是用数据填充用户会话 bean。在此步骤会话已成功保存到 redis 实例,但未调用更改的增量(应包括会话 bean)。我想指出的是,通过在 tomcat 上存储会话,会话 bean 可以正常工作。

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

【问题讨论】:

    标签: spring spring-boot redis spring-session


    【解决方案1】:

    你试过下面的配置吗?

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

    【讨论】:

      【解决方案2】:

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

      src/main/resources/application.properties 你可以这样做:

      spring.session.redis.flush-mode=immediate
      

      或者使用@EnableRedisHttpSession 做:

      @EnableRedisHttpSession(redisFlushMode = RedisFlushMode.IMMEDIATE)
      

      【讨论】:

        猜你喜欢
        • 2021-11-02
        • 2016-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-24
        • 2014-12-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多