spring-session-data-redis使用redis共享session

Posted 网络终结者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring-session-data-redis使用redis共享session相关的知识,希望对你有一定的参考价值。

1:添加jar包

<dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
            <version>2.0.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-data-redis</artifactId>
            <version>2.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
            <version>2.4.2</version>
        </dependency>

2:配制

  

    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxTotal" value="${utils.redis.maxTotal}" />
        <property name="maxIdle" value="${utils.redis.maxIdle}" />
        <property name="timeBetweenEvictionRunsMillis" value="${utils.redis.timeBetweenEvictionRunsMillis}" />
        <property name="minEvictableIdleTimeMillis" value="${utils.redis.minEvictableIdleTimeMillis}" />
        <property name="testOnBorrow" value="${utils.redis.testOnBorrow}" />
    </bean>


    <bean id="jedisConnFactory"
        class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="hostName" value="${utils.redis.host}" />
        <property name="port" value="${utils.redis.port}" />
        <property name="password" value="${utils.redis.pass}" />
        <property name="database" value="${utils.redis.database}" />
        <property name="timeout" value="${utils.redis.timeout}" />
        <property name="poolConfig" ref="jedisPoolConfig" />
        <property name="usePool" value="true" />
    </bean>

<!--去掉redis client的CONFIG--> <util:constant static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/> <bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"> <property name="maxInactiveIntervalInSeconds" value="3600" /> </bean>

3:配制xml的filter,最好放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>
    </filter-mapping>

 

总结:就这么简单,session可以正常使用了

 

以上是关于spring-session-data-redis使用redis共享session的主要内容,如果未能解决你的问题,请参考以下文章

SpringSpringBoot + SpringSession + Redis 实现Session共享

Springboot session共享(使用redis)

SpringBoot 无Session开发

Spring-Session+Redis实现session共享

spring+redis+nginx 实现分布式session共享

spring-session使用配置(分布式共享session配置)