Play 2.0 用户指南 - 使用缓存 -- 针对Scala开发者

原创
2012/03/21 20:16
阅读数 717

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)))
    }   
  }
}


展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部