posts - 36, comments - 30, trackbacks - 0, articles - 3

使用Redis实现session共享

Posted on 2016-01-31 13:10 笑看人生 阅读(4571) 评论(0)  编辑  收藏
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

jedis-2.1.0.jar

tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar

commons-pool-1.6.jar

 

下载以上三个jar,放到Tomcatlib目录下,

修正Tomcatcontext.xml文件,redis来集中管理Tomcatsession

<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />

    <Manager className="com.radiadesign.catalina.session.RedisSessionManager" />

 

安装redis, 地址https://github.com/dmajkic/redis/downloads。下到的Redis支持32bit64bit。根据自己实际情况选择由于本机是32bitOS。把32bit文件内容拷D:\redis-2.4.5(目录可以随意),在命令行中运行

redis-server.exe redis.conf

启动redis

修改nginx.conf文件,修正内容如下:

 

 server localhost:8080 weight=1;

  server localhost:18080 weight=1;

 

  #server localhost:8080;

  #server localhost:18080;

      #ip_hash;

修正之后运行nginx -s reload,重新加载配置文件,看看是不是实现了Tomcat之间的session共享

输入用户名和密码之后,登陆”,显示一下错误信息:



提示属性不能序列化,原因是User类没有实现Serializable接口,修改一下代码,再试一下

package com.xxx.yyy.entity;

 

import java.io.Serializable;

 

public class User implements Serializable {

      

       /**

        *

        */

       private static final long serialVersionUID = -8407971409369614003L;

      

       private String username;

       private String password;

      

       public String getUsername() {

              return username;

       }

       public void setUsername(String username) {

              this.username = username;

       }

       public String getPassword() {

              return password;

       }

       public void setPassword(String password) {

              this.password = password;

       }

             

}

显示如下页面,说明sessionTomcat之间已经共享成功.




@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

只有注册用户登录后才能发表评论。


网站导航: