Play! Redis Module


License

License

unknown
Categories

Categories

Maven Build Tools Redis Data Databases
GroupId

GroupId

com.google.code.maven-play-plugin.org.playframework.modules.redis
ArtifactId

ArtifactId

play-redis
Last Version

Last Version

0.3
Release Date

Release Date

Type

Type

jar
Description

Description

Play! Redis Module
Play! Redis Module
Source Code Management

Source Code Management

https://github.com/tkral/play-redis

Download play-redis

How to add to project

<!-- https://jarcasting.com/artifacts/com.google.code.maven-play-plugin.org.playframework.modules.redis/play-redis/ -->
<dependency>
    <groupId>com.google.code.maven-play-plugin.org.playframework.modules.redis</groupId>
    <artifactId>play-redis</artifactId>
    <version>0.3</version>
</dependency>
// https://jarcasting.com/artifacts/com.google.code.maven-play-plugin.org.playframework.modules.redis/play-redis/
implementation 'com.google.code.maven-play-plugin.org.playframework.modules.redis:play-redis:0.3'
// https://jarcasting.com/artifacts/com.google.code.maven-play-plugin.org.playframework.modules.redis/play-redis/
implementation ("com.google.code.maven-play-plugin.org.playframework.modules.redis:play-redis:0.3")
'com.google.code.maven-play-plugin.org.playframework.modules.redis:play-redis:jar:0.3'
<dependency org="com.google.code.maven-play-plugin.org.playframework.modules.redis" name="play-redis" rev="0.3">
  <artifact name="play-redis" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.google.code.maven-play-plugin.org.playframework.modules.redis', module='play-redis', version='0.3')
)
libraryDependencies += "com.google.code.maven-play-plugin.org.playframework.modules.redis" % "play-redis" % "0.3"
[com.google.code.maven-play-plugin.org.playframework.modules.redis/play-redis "0.3"]

Dependencies

compile (2)

Group / Artifact Type Version
redis.clients : jedis jar 2.0.0
org.antlr : stringtemplate jar 3.2.1

provided (1)

Group / Artifact Type Version
com.google.code.maven-play-plugin.org.playframework : play jar 1.1

Project Modules

There are no modules declared in this project.

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.

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

require:
– play → redis

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

redis.url=redis://username:password@host:port

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");
Redis.get("key");

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:

redis.1.url=redis://username:password@host:port
redis.2.url=redis://...

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:

RedisConnectionManager.getRawConnectionFromShard("key");

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:

redis.cache=enabled
redis.cache.url=redis://username:password@host:port

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 https://github.com/tkral/play-redis

Change Log

v0.3:

  • Add caching support for model objects

Versions

Version
0.3