使用 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.
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
host="192.168.1.45"
port="6379"
password="password"
database="1"
maxInactiveInterval="60"/> - 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分钟。
注意:需要增加 tomcat-redis-session-manager-1.2-tomcat-7.jar 和 jedis-2.2.1.jar、commons-pool-1.6.jar 这三个个jar
英文原文:http://shivganesh.com/category/database/no-sql/redis-no-sql/