使用 Redis 来存储 Apache Tomcat 7 的 Session

jopen 11年前

unknown.jpg

使用 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 :-

  1. 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
  2. Start Redis using command(Redis Directory refers to the directory where Redis is built)
    cd RedisDirectory/src  ./redis-server --port 6379
  3. Get the latest version of Apache Tomcat 7
  4. 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 .
  5. Copy all the above files into the lib folder of the Apache Tomcat 7 installation directory.
  6. 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.
    <Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />  <Manager className="com.radiadesign.catalina.session.RedisSessionManager"  host="localhost" <!-- optional: defaults to "localhost" -->  port="6379" <!-- optional: defaults to "6379" -->  database="0" <!-- optional: defaults to "0" -->  maxInactiveInterval="60" <!-- optional: defaults to "60" (in seconds) --> />
  7. Now restart your Apache Tomcat 7 normally and now you would see that the sessions are being created in the Redis 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.