spring-session 使用教程 (一):redis 共享 session

3,324 阅读1分钟

1.Spring session简介:
说白了就是解决session共享问题,spring-session将web的session存到一个指定的位置,集群的所有web服务器在操作session的时候就去这个位置找。(我比较喜欢用最土的语言解释,不官方但是容易理解)

注意:本文只教你怎么使用spring-session-redis,不会深入探讨为什么这么实现,因为暂时我也没弄清他的源源码,但是照下面的做法你一定能跑起来。

2.maven在pom.xml中配置



    org.springframework.session
    spring-session-data-redis
    1.2.1.RELEASE

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 *,如果你能看到像下图的结果,恭喜你,配置成功!


https://github.com/bigbeef

参考项目:github.com/bigbeef/cpp…