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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章