1.Spring session简介:
说白了就是解决session共享问题,spring-session将web的session存到一个指定的位置,集群的所有web服务器在操作session的时候就去这个位置找。(我比较喜欢用最土的语言解释,不官方但是容易理解)
参考项目:https://github.com/bigbeef/cppba-web
开源地址:https://github.com/bigbeef
个人博客:http://blog.cppba.com
注意:本文只教你怎么使用spring-session-redis,不会深入探讨为什么这么实现,因为暂时我也没弄清他的源源码,但是照下面的做法你一定能跑起来。
2.maven在pom.xml中配置
<!--spring-session-->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
<version>1.2.1.RELEASE</version>
</dependency>
3.创建RedisHttpSessionConfig
package com.cppba.config;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
@EnableRedisHttpSession
public class RedisHttpSessionConfig {
@Bean
public JedisConnectionFactory connectionFactory() {
JedisConnectionFactory connection = new JedisConnectionFactory();
connection.setHostName("127.0.0.1");
connection.setPort(6379);
return connection;
}
}
4.创建SpringSessionInitializer
package com.cppba.config;
import org.springframework.session.web.context.AbstractHttpSessionApplicationInitializer;
public class SpringSessionInitializer extends AbstractHttpSessionApplicationInitializer {
}
接下来,把项目跑起来,在浏览器上访问一下,我们再在redis的控制台输入keys *,如果你能看到像下图的结果,恭喜你,配置成功!