Redis:何时使用JedisPool而不是Cache.get

时间:2014-08-10 15:34:07

标签: scala playframework redis jedis

我刚开始在我的Play应用程序中使用Redis,它的效果非常好。看看我在互联网上找到的一些例子,我想知道以下两个代码片段之间有什么区别:

import redis.clients.jedis._
import com.typesafe.plugin.RedisPlugin
import play.cache.Cache

val pool = app.plugin(RedisPlugin.class).jedisPool
val jedis = pool.getResource
jedis.set("myKey", "myValue")
pool.returnResource(jedis)
...

val myValue = jedis.get("myKey")

......而且这一个:

import com.typesafe.plugin.RedisPlugin
import play.cache.Cache

Cache.set("myKey", "myValue")
...

val myValue = Cache.get("myKey")

好的,最终结果是一样的,即我正在从缓存中检索一个值...但是什么时候应该使用JedisPool而不是简单的Cache.get

的Tx。

1 个答案:

答案 0 :(得分:1)

您必须查看插件代码,以便在第二个选项中检查Redis缓存的实现,以区别对待。

使用Play Cache只是从实现中稍微抽象出来。如果您将来可以更改缓存,我会推荐它。相反,如果您想在Play!之外的其他环境中使用此代码,您应该更喜欢第一个选项。