实现session共享需要实现负载均衡,可以参看上一篇文章:http://doctorcai.blog.51cto.com/1892682/1970913

    

    

1.redis简介及下载安装

    redis是一款开源的高性能key-value数据库,拥有丰富的键值储存类型,并提供多种语言的API。与一般数据库不同,redis是使用内存作为主存,而使用硬盘来实现数据持久化,而且redis是周期性的将数据写到硬盘上。这就意味着一旦我们服务器出现断电、重启之类的情况,我们很可能会出现数据丢失的情况,所以不建议使用redis来存放关键的数据。当然,也正因为redis读写数据都使用内存,所以它的速度是非常快的,很适合我们来存放一些临时性的数据。

先下载redis,windows版本下载地址  https://github.com/ServiceStack/redis-windows

    


    redis在windows下是免安装的,下载完成后,解压,将文件夹复制到自己某个盘中就好了。


    (附:打开redis配置文件redis.windows.conf,找到requirepass 123456 可以设置密码,我设置为123456)


    下面我们打开redis。首先打开cmd,进入我们redis目录下,输入redis-server.exe redis.windows.conf。出现下面界面,则打开成功。(不可偷懒想双击redis-server.exe完事,这样虽然也能打开,但不会加载配置文件)。


        Redis+Tomcat+Nginx实现session共享_redis


    

2.下载所需jar

    Redis+Tomcat+Nginx实现session共享_redis_02


3.  将所需jar包拷贝到 tomcat文件夹中的lib 目录下

 

4.  修改Tomcat文件夹中conf文件夹下的context.xml

      <context>标签内加入如下配置:

<ValveclassName="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve"/>

    <ManagerclassName="com.orangefunction.tomcat.redissessions.RedisSessionManager" 

         host="主机地址"  

         port="6379"     <!—redis端口号 -->

         database="0"  

         password="123456"           <!—redis 密码 , 不是必选项 -->

         maxInactiveInterval="60"/>

 

 

5.  启动nginx redis Tomcat打开测试页面

测试页面分为Tomcat ATomcat B代码如下: (B页面省略,内容一样)

<body>

      <h1>

           <font color="red">Tomcat A </font>

      </h1>

      <table border="1">

           <tr>

                 <td>Session ID</td>

                 <td><%=session.getId()%></td>

           </tr>

           <tr>

                 <td>Created on</td>

                 <td><%=session.getCreationTime()%></td>

           </tr>

      </table>

</body>

    Redis+Tomcat+Nginx实现session共享_session_03


    

    此时,两个页面的sessionID一样,已实现了session共享。