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)))
    }   
  }
}
相关文章
相关标签/搜索