Redis plugin for the Play framework
Java Smalltalk
Latest commit b13db92 Oct 8, 2011 @tkral Bump to v0.3
Failed to load latest commit information.
documentation/manual Add change log to documentation Oct 8, 2011
samples-and-tests Bump to v0.3 Oct 8, 2011
src-generator Add Jedis parameter names to Redis connector Sep 6, 2011
.gitignore modified .gitignore Oct 4, 2011
README.textile Add change log to documentation Oct 8, 2011
build.xml Fix redis port parsing. Sep 7, 2011


Redis Module for Play Framework

This plugin allow you to integrate redis with your Play application. It consists of three parts:

1. A redis client used to persist data to a redis instance.
2. A redis implementation of Play’s cache interface. This allows you to use redis for your caching needs.
3. A redis cache monitor that helps you debug issues with your redis cache.

With this plugin, you can choose to use redis as a persistent data store or a caching system or both. Note that if you choose both, you’ll need separate redis instances. The cache is flushed at application shutdown.

To install the redis module, add this to your conf/dependencies.yml file:

– play → redis

Using the Redis Client
Configuring the redis client is easy. Simply add this property to your conf/application.conf file:


Within your application code, the redis client is available via the play.modules.redis.Redis class. For example, you can set and get values with the following code:

Redis.set("key", "value");

Note that this class abstracts away the client implementation. If for some reason, you wish to get the native client, that is possible as well:

RedisConnectionManager.getRawConnection().set("key", "value");

RedisConnectionManager.getRawConnection will return a Jedis client.

Using the Redis Client with Shared Instances
The plugin supports sharded instances. Within your conf/application.conf file, specify the connection urls to the various shards:


Now you may use the Redis client the same way as above. If you wish to get a native client, you can with the following:


This will return a Jedis client to the shard containing the key argument.

Using Redis for Caching
Again, the configuration is easy. Add these properties to your conf/application.conf file:


Now you can use the Cache interface like you normally would in your Play application:

Cache.set("key", "value", "30s");

Using the Redis Cache Monitor
This monitor helps debug your cache while your Play app is running. Simply add this to your routes file:

* /cache module:redis

Now you can drop the cacheMonitor tag in any of your views:

#{cacheMonitor /}

The cache monitor will report your cache contents as well as information about your cache redis instance.

Source Code
The source code is available on Github at

Change Log


  • Add caching support for model objects