Big Data/BI Zone is brought to you in partnership with:

I am a Software Engineer and a keen enthusiast of Semantic Web technologies. I am a regular speaker at JUG Chennai and also have contributed to many open source projects. I am also the community lead of Lotico Semantic Web Chennai. Shiv Kumar has posted 9 posts at DZone. You can read more from them at their website. View Full User Profile

Setup Redis as the Session Store for Apache Tomcat 7

08.15.2013
| 3191 views |
  • submit to reddit

Setting up the Redis Server as a session is really advantageous. First, its a NO-SQL database and second its really easy to scale using this. 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.

Image: Courtesy – “Redis
Thanks to the plugin creator James Coleman. You can find him on Git.
Article can be viewed on my blog at 
Shiv Ganesh .  

Published at DZone with permission of its author, Shiv Kumar Ganesh. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)