您的位置:首页 > 数据库 > Redis

使用 Redis 来存储 Apache Tomcat 7 的 Session

2014-03-21 12:48 537 查看
使用 Redis 服务器来存储Session非常有优势。首先它是一个NOSQL数据,第二它很容易扩展使用。 This kind of setup would lead to a clear understanding
of how Redis can behave as cache as well as a session storing system. In order to do this the instructions
are as follows :-

Download Redis and build by the following commands (This includes downloading
it too)
wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz
cd redis-stable
make


Start Redis using command(Redis Directory
refers to the directory where Redis is built)
cd RedisDirectory/src
./redis-server --port 6379


Get the latest version of Apache Tomcat
7
Download the latest version for JEDIS (A
Redis Java Client), Tomcat Redis Session
Manager (Redis-backed non-sticky session store for Apache Tomcat) and Apache
Commons Pool .
Copy all the above files into the lib folder of the Apache
Tomcat 7 installation directory.
Add the lines mentioned below in the context.xml of your Apache
Tomcat 7 (Or on the context block of server.xml if applicable).Edit the Configurations as your settings. In out case the port number to be configured is 6279.

1
<
Valve
className
=
"com.radiadesign.catalina.session.RedisSessionHandlerValve"
/>
2
<
Manager
className
=
"com.radiadesign.catalina.session.RedisSessionManager"
3
host
=
"localhost"
<!--
 optional: defaults to "localhost" -->
4
port="6379"
<!--
 optional: defaults to "6379" -->
5
database="0"
<!--
 optional: defaults to "0" -->
6
maxInactiveInterval="60"
<!--
 optional: defaults to "60" (in seconds) -->
/>
Now restart your Apache
Tomcat 7 normally and now you would see that the sessions are being created in theRedis Rather than
on Tomcat.

Thats it. Now you have your Apache Tomcat 7 storing all the sessions in Redis and
it also takes care about the different aspects of sessions.

web.xml中的配置是有效的,即使是context.xml总配置maxInactiveInterval默认60秒,只要web.xml中的sessionConfig配置30分钟,则session的失效时间还是30分钟。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: