基于redis的session共享

1.首先启动redis,在windows下的命令是:

redis-server redis.windows.conf

2.需要在加载的jar包为(基于maven的工程):

    <dependency>
  		<groupId>org.springframework.data</groupId>
  		<artifactId>spring-data-redis</artifactId>
  		<version>1.8.3.RELEASE</version>
  	</dependency>
  	<dependency>
  		<groupId>org.springframework.session</groupId>
  		<artifactId>spring-session-data-redis</artifactId>
  		<version>1.3.0.RELEASE</version>
  		
  	</dependency>
  	<dependency>
  		<groupId>redis.clients</groupId>
  		<artifactId>jedis</artifactId>
  		<version>2.9.0</version>
  	</dependency>

3.在web.xml中的配置拦截器,对session的创建进行修改

<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>

4.在Resource下新建一个Spring-redis.xml,其中的配置如下:

 <!-- session设置 maxInactiveIntervalInSeconds为session的失效时间,单位为秒-->
 <bean                   class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration">
        <property name="maxInactiveIntervalInSeconds" value="3600"></property>
    </bean>
      <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxIdle" value="100" />
        <property name="testOnBorrow" value="true" />
    </bean>
     <!-- redis连接工厂 -->
    <bean id="connectionFactory"
        class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="hostName" value="127.0.0.1" />
        <property name="port" value="6379" />
       <!--  <property name="password" value="${redis_password}" /> -->
        <property name="timeout" value="100000" />
        <property name="poolConfig" ref="poolConfig"></property>
    </bean>
        <!-- redis连接池 -->
</beans>

上述配置多个项目完成后,工程获取的session即为同一个session

猜你喜欢

转载自blog.csdn.net/qq_39444339/article/details/82728733
今日推荐