我主要是在Play的上下文中讨论数据库和缓存! Heroku上的应用程序:
缓存为数据库做了什么以及如何使用它?
答案 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")
(但如果找不到,您可能还想查询。)