什么是数据库缓存以及如何使用它?

时间:2012-09-01 12:32:35

标签: database caching heroku playframework playframework-2.0

我主要是在Play的上下文中讨论数据库和缓存! Heroku上的应用程序:

缓存为数据库做了什么以及如何使用它?

1 个答案:

答案 0 :(得分:1)

缓存用于避免过多地查询数据库。

某些查询需要特别长的时间才能运行。通过缓存结果(例如将其保存在内存中),不需要再次执行昂贵的查询(在数据仍然有效的一段时间内 - 有效性可能是几分钟,或直到某些数据为止)某个表格发生变化。)

缓存通常只是作为一个巨型哈希表实现,它将是键和值。该键用于查找值。

http://www.playframework.org/documentation/2.0/ScalaCache描述了缓存使用情况。为它编写代码非常容易。要在缓存中存储内容:

Cache.set("item.key", connectedUser)

在这里,您只需传递密钥即可存储对象和对象。

要检索它:

val user: User = Cache.getOrElseAs[User]("item.key") {
  User.findById(connectedUser)
}

基本上,getOrElseAs [将数据转换到此处的类](此处为key)。

注意您可以传递给getOrElseAs的块,这样如果找不到,您可以查询数据库。

否则,您也可以使用Cache.getAs[User]("item.key")(但如果找不到,您可能还想查询。)