Setup Redis as the Session Store for Apache Tomcat 7
Join the DZone community and get the full member experience.Join For Free
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 :-
- 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
- Start Redis using command(Redis Directory refers to the directory where Redis is built)
./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.
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
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) --> />
- 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 Shiv Kumar Ganesh. See the original article here.
Opinions expressed by DZone contributors are their own.
Never Use Credentials in a CI/CD Pipeline Again
Future of Software Development: Generative AI Augmenting Roles and Unlocking Co-Innovation
IDE Changing as Fast as Cloud Native
Understanding the Role of ERP Systems in Modern Software Development