Java Springsession和redis混合会话

Java Springsession和redis混合会话,java,session,redis,spring-session,Java,Session,Redis,Spring Session,我们使用redis作为会话存储配置了springsessions。随着负载的增加,它最终导致用户碰巧取回随机会话数据 不幸的是,我们不能再次复制它,并且它不能在测试环境中复制 有没有人有过类似的经验,也许可以指出一个方向看看什么?我在我的项目中使用了使用redis session store的spring session,如下所示,它工作正常,我与大家分享,希望能有所帮助 二手弹簧启动机版本:1.4.3 <dependency> <groupId>or

我们使用redis作为会话存储配置了springsessions。随着负载的增加,它最终导致用户碰巧取回随机会话数据

不幸的是,我们不能再次复制它,并且它不能在测试环境中复制


有没有人有过类似的经验,也许可以指出一个方向看看什么?

我在我的项目中使用了使用redis session store的spring session,如下所示,它工作正常,我与大家分享,希望能有所帮助

二手弹簧启动机版本:1.4.3

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-security</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>

     <dependency>
        <groupId>org.springframework.session</groupId>
        <artifactId>spring-session</artifactId>
    </dependency>


    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <version>4.2.0.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>biz.paluch.redis</groupId>
        <artifactId>lettuce</artifactId>
        <version>3.5.0.Final</version>
    </dependency>

}

我们在应用程序中遇到了类似的问题,您找到原因/解决方案了吗?
package az.com.cybernet.aas.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.connection.lettuce.
LettuceConnectionFactory;
import org.springframework.session.data.redis.config.annotation.web.http.
EnableRedisHt
tpSession;
import org.springframework.session.web.http.CookieHttpSessionStrategy;
import org.springframework.session.web.http.CookieSerializer;
import org.springframework.session.web.http.DefaultCookieSerializer;
import org.springframework.session.web.http.HttpSessionStrategy;



@EnableRedisHttpSession
public class RedisConfig {

@Value("${spring.redis.host}")
private String hostname;
@Value("${spring.redis.port}")
private String port;
// @Value("${spring.redis.password}")
// private String password;

@Bean
public LettuceConnectionFactory connectionFactory() {
    LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory();
    connectionFactory.setHostName(hostname);
    // connectionFactory.setPassword(password);
    connectionFactory.setDatabase(2);
    connectionFactory.setPort(Integer.parseInt(port));
    return connectionFactory;
}

@Bean
public CookieSerializer cookieSerializer() {
    DefaultCookieSerializer serializer = new DefaultCookieSerializer();
    serializer.setCookieName("JSESSIONID");
    serializer.setCookiePath("/");
    serializer.setDomainNamePattern("^.+?\\.(\\w+\\.[a-z]+)$");
    return serializer;
}

@Bean
public HttpSessionStrategy strategy() {
    CookieHttpSessionStrategy cookieHttpSessionStrategy = new CookieHttpSessionStrategy();

    cookieHttpSessionStrategy.setCookieSerializer(cookieSerializer());
    return cookieHttpSessionStrategy;

}