14.6. Spring会话管理器(Spring Session Manager)
Redisson提供的Spring会话管理器(Spring Session Manager)实现了跨机Web会话共享的功能。
在每次调用HttpSession.setAttribute
接口方法时,以每一条会话的字段属性(Attribute)为单位,将修改内容记录在Redis的一个Hash结构里。需要注意的是Redis服务端的notify-keyspace-events
参数设置中需要包含Exg
这三个字符。
使用方法:
首先请确保
Spring Session library
版本号为1.2.2+的依赖已经添加到了您的项目中:Maven
<!-- for Redisson 2.x -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session</artifactId>
<version>1.3.2.RELEASE</version>
</dependency>
<!-- for Redisson 3.x -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-core</artifactId>
<version>2.1.2.RELEASE</version>
</dependency>
Gradle
// for Redisson 2.x
compile 'org.springframework.session:spring-session:1.3.2.RELEASE'
// for Redisson 3.x
compile 'org.springframework.session:spring-session-core:2.1.2.RELEASE'
然后将
@EnableRedissonHttpSession
注释和Redisson
实例添加到Spring的配置里:@EnableRedissonHttpSession
public class Config {
@Bean
public RedissonClient redisson() {
return Redisson.create();
}
}
然后提供一个启动器
AbstractHttpSessionApplicationInitializer
的扩展就行了:public class Initializer extends AbstractHttpSessionApplicationInitializer {
public Initializer() {
super(Config.class);
}
}