版本
| 应用 | 版本 | 备注 |
|---|---|---|
| Spring | 4.3.13.RELEASE | |
| spring-session-data-redis | 1.3.5.RELEASE | |
| spring-data-redis | 1.7.11.RELEASE | spring-session-data-redis依赖进来 |
| lettuce | 3.4.2.Final |
依赖
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
<version>${spring.sesion.data.redis.version}</version>
</dependency>
<dependency>
<groupId>biz.paluch.redis</groupId>
<artifactId>lettuce</artifactId>
<version>${lettuce.version}</version>
</dependency>
配置
配置Redis连接
@EnableRedisHttpSession
public class RedisHttpSessionConfig {
@Value("${redis.host}")
private String host;
@Value("${redis.port}")
private int port;
@Value("${redis.password}")
private String password;
@Value("${redis.dbIndex}")
private int dbIndex;
@Value("${redis.connection.timeout}")
private long timeout;
@Bean
public LettuceConnectionFactory lettuceConnectionFactory(LettucePool lettucePool) {
return new LettuceConnectionFactory(lettucePool);
}
@Bean
public LettucePool lettucePool() {
DefaultLettucePool configuration = new DefaultLettucePool();
configuration.setHostName(host);
configuration.setPort(port);
configuration.setPassword(password);
configuration.setDatabase(dbIndex);
configuration.setTimeout(timeout);
return configuration;
}
}
配置Filter
<filter>
<filter-name>springSessionRepositoryFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSessionRepositoryFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
踩的坑
主要还是spring、spring-session-data-redis、lettuce版本之间冲突太多,需要测试不同的版本