Play 2.0 用戶指南 - 使用緩存 -- 針對Scala開發者

The Play 緩存 API

   
    Play 默認使用EHCache實現緩存API。你也能夠自定義插件實現。

    訪問緩存API


    緩存API由play.api.cache.Cache提供。它須要一個已註冊的緩存插件。
    注意:該API有意最小化設計以便多種實現的插入。若是你須要特別的API,請使用插件提供者的API。

    使用該API,你能夠保存數據:
Cache.set("item.key", connectedUser)
    或稍後取回數據:
 
val maybeUser: Option[User] = Cache.getAs[User]("item.key")
    有一個助手方法能夠幫你取出或設置值,若是該值不存在的話:
val user: User = Cache.getOrElseAs[User]("item.key") {
  User.findById(connectedUser)
}


    緩存HTTP響應


    你很容易經過標準的Action組合智能的緩存action。
    注意:Play HTTP Result 實例能夠安全的緩存而稍後重用。

    Play 提供了一個內建的函數針對標準情形:
def index = Cached("homePage") {
  Action {
    Ok("Hello world")
  }
}


    或者甚至:
def userProfile = Authenticated { user =>
  Cached(req => "profile." + user) {      
    Action { 
      Ok(views.html.profile(User.find(user)))
    }   
  }
}
相關文章
相關標籤/搜索