在Tomat7上使用Redis保存Session
jopen
10年前
当用户量大、应用服务器使用集群来布署时,使用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/jedis Tomcat Redis Session Manager :https://github.com/jcoleman/tomcat-redis-session-manager/downloads Apache Commons Pool :http://commons.apache.org/proper/commons-pool/download_pool.cgi来自:http://my.oschina.net/gccr/blog/321083