redis+tomcat session共享实践

目前来说session共享的解决方案很多,可以让tomcat自己进行一个同步操作,但是这样视乎不太和谐,我感觉最好的办法还是用一台内存数据库来存储session,作为session共享。下面是步骤

第一步 安装redis


#解压redis
tar -zxvf redis-2.8.11.tar.gz 
cd redis-2.8.11
make
make test
#发现错误You need tcl 8.5 or newer in order to run the Redis test
#安装tcl
tar -zxvf tcl8.6.1-src.tar.gz 
cd tcl8.6.1
cd unix
./configure
make
make install
#然后继续安装redis
#在目录里面执行 make test如果成功之后继续执行
make install
#然后进入到目录里面,执行
redis-server redis.conf
#这个时候你会看到一个类似蛋糕的界面,这样就说明你安装成功了,然后ctrl +c 关掉redis 这个时候的redis是在前台执行的,我们需要把他改到后台线程里面去,之后对redis.conf文件进行修改
vi redis.conf
#修改daemonize yes---目的使进程在后台运行,然后执行启动命令
redis-server redis.conf
#如果你看到如下类容的话说明你成功了。
[root@root redis-2.8.11]# ps -ef|grep redis
root     21113     1  1 12:46 pts/1    00:00:08 /home/soft/java7/jdk1.7.0_51/bin/java -Djava.util.logging.config.file=/home/webServer/redis/tomcat1/apache-tomcat-7.0.47/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/home/webServer/redis/tomcat1/apache-tomcat-7.0.47/endorsed -classpath /home/webServer/redis/tomcat1/apache-tomcat-7.0.47/bin/bootstrap.jar:/home/webServer/redis/tomcat1/apache-tomcat-7.0.47/bin/tomcat-juli.jar -Dcatalina.base=/home/webServer/redis/tomcat1/apache-tomcat-7.0.47 -Dcatalina.home=/home/webServer/redis/tomcat1/apache-tomcat-7.0.47 -Djava.io.tmpdir=/home/webServer/redis/tomcat1/apache-tomcat-7.0.47/temp org.apache.catalina.startup.Bootstrap start
root     21195     1  0 12:53 ?        00:00:00 redis-server *:6379    
root     21200 21039  0 12:54 pts/3    00:00:00 grep redis
[root@root redis-2.8.11]# 
r注意端口是6379 ,这个端口可以在配置文件里面进行修改的,具体自己去改吧,这个时候需要下载tomcat跟redis的jar包,因为tomcat需要通过接口去掉用redis

第二步复制所需jar包

jedis-2.1.0.jar

commons-pool-1.6.jar

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

最好使用上面给出的版本的jar包 因为版本过高可能会不支持,把这几个包复制到tomcat lib下


第三步 配置两个tomcat

然后开始配置tomcat

打开context.xml文件然后把这段代码复制上

<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
         host="localhost"
         port="6379" 
         database="0" 
         maxInactiveInterval="60"/>


两个tomcat里面都必须有这段代码,然后放入一个项目进行测试即可



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值