【问题标题】:Redis: When to use a JedisPool instead of Cache.getRedis:何时使用 JedisPool 而不是 Cache.get
【发布时间】:2014-10-03 12:09:12
【问题描述】:

我刚刚开始在我的 Play 应用程序中使用 Redis,它的效果非常好。看了网上找的一些例子,想知道下面两个代码sn-ps有什么区别:

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

发送。

【问题讨论】:

  • 我认为您不需要直接使用 JedisPool 来进行或多或少的“传统”缓存使用。

标签: scala playframework redis jedis


【解决方案1】:

您必须查看插件代码以检查第二个选项中 Redis 缓存的实现情况。

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

【讨论】:

    猜你喜欢
    • 2015-01-17
    • 2011-04-27
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 2017-06-15
    • 2015-02-01
    • 2012-06-09
    • 2013-07-07
    相关资源
    最近更新 更多