在Tomat7上使用Redis保存Session

来源:互联网 发布:.商城 域名注册 编辑:程序博客网 时间:2024/05/16 06:53
当用户量大、应用服务器使用集群来布署时,使用Tomcat默认自带的Session就不能满足需求了。当然解决方法有很多,本文提供了一个解决方案,就是使用Redis来保存Session,好处就是使用Session的代码没有任何变化,Tomcat默认把Session保存到Redis上面了。

 使用 Redis 服务器来存储Session非常有优势。首先它是一个NOSQL数据,第二它很容易扩展使用。

下面这种安装方式非常清晰明白的引导你把Redis缓存作为一个Session的存储系统。步骤如下:

1. 下载Redis并且使用下面的命令编译安装:

wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz cd redis-stable make

2. 使用如下命令启动Redis

cd RedisDirectory/src./redis-server --port 6379

3. 下载最新的Tomcat 7

4. 下载最新的Jedis(一个Redis 的Java客户端),Tomcat Redis Session Manager 和 Apache Commons Pool

5. 将上面所有的Jar包都拷到Tomcat7安装目录下面的Lib目录下

6. 在Tomcat 的conf/context.xml 文件里增加如下内容(或者在server.xml的context块中添加):

<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" /><Manager className="com.radiadesign.catalina.session.RedisSessionManager"                   host="localhost" <!-- 可选,默认是"localhost" -->                   port="6379" <!-- 可选,默认是 "6379" -->                   database="0" <!-- 可选,默认是 "0" -->                   maxInactiveInterval="60" <!-- 可选,默认是 "60" (单位:秒)--> />

7. 重启Tomcat7,你现你可以看到,Session的内容开始在Redis中创建了。

现在,Tomcat7的Session就保存到Redis中了,而且它也维护着Session的不同方面。

各个组件的下载地址:

Redis:http://redis.io/JRedis: https://github.com/xetorthio/jedisTomcat Redis Session Manager :https://github.com/jcoleman/tomcat-redis-session-manager/downloadsApache Commons Pool :http://commons.apache.org/proper/commons-pool/download_pool.cgi
0 0
原创粉丝点击