This is a plugin for Play 2.3, enabling support for Rediscala - A Redis client for Scala (2.10+) and (AKKA 2.2+) with non-blocking and asynchronous I/O operations.
Add the plugin to your dependencies
resolvers += "play2-rediscala" at "http://dl.bintray.com/yorrick/maven"
"fr.njin" %% "play2-rediscala" % "2.3.0.0"
And declare it in conf/play.plugins
200:play.modules.rediscala.RedisPlugin
Get your client
val client = RedisPlugin.client()(app, Akka.system(app))
val pubsub = RedisPlugin.pubsub(channels = Seq("mychannel"), patterns = Seq[String](), onMessage = {message => println(s"$message")})(app, Akka.system(app))
or
import play.api.Play.current
implicit val system = Akka.system
val client = RedisPlugin.client()
val pubsub = RedisPlugin.pubsub(channels = Seq("mychannel"), patterns = Seq[String](), onMessage = {message => println(s"$message")})
Rediscala Plugin can handle multiple databases. You can configure them in your app configuration file application.conf
redis {
# The default database.
default {
# You can use uri to configure a database
uri: "redis://user:password@an.host.com:9092/"
}
mydb {
host: localhost
port: 6379
password: ...
}
...
}
RedisPlugin.client() //Give you the default database client
RedisPlugin.client("mydb") //Give you 'mydb' database client