#Play缓存API
在现代应用程序中缓存数据是典型的优化方式,所以Play提供了一个全局缓存。缓存有一点很重要,存储在缓存中的数据可能会丢失。
对存储在缓存中的任意数据,生成策略需要落实到数据丢失的情况下。这个理念是Play的基础理念,不同与JAVA EE,JAVA EE中会话
值要在它的整个生命周期保存。
默认的缓存API实现使用EHCache。你也可以通过插件实现自己的缓存。
1.访问缓存API
play.cache.Cache对象提供了缓存API。这需要注册一个缓存插件。
这个API刻意做的很小用以运行各种实现被加入。如果你需要一个更具体的API,就使用你的缓存插件提供的API。
在缓存中存储数据:
Cache.set("item.key", frontPageNews);
获取到缓存中的数据:
News news = Cache.get("item.key");
2.缓存HTTP请求
你可以使用标准的Acti组件轻易的创建一个优秀的缓存Action。Play的HTTP result实例的存储是安全的,并且之后可以重用。
Play为标准的用例提供了一个默认的内建助手。
@Cached("homePage")
public static Result index() {
return ok("Hello world");
}
3.缓存到模板中
你也可以在视图模板中获取到缓存:
@cache.Cache.getOrElse("cached-content", 3600) {
<div>I’m cached for an hour</div>
}
4.会话缓存
Play提供了一个全局缓存,它的数据可以随意访问。如何限制某个特定的用户的所见?
比如说,你或许想要缓存某个特定用户适用的指标。
// Generate a unique ID
String uuid=session("uuid");
if(uuid==null) {
uuid=java.util.UUID.randomUUID().toString();
session("uuid", uuid);
}
// Access the cache
News userNews = Cache.get(uuid+"item.key");
if(userNews==null) {
userNews = generateNews(uuid);
Cache.set(uuid+"item.key", userNews );
}
分享到:
相关推荐
NULL 博文链接:https://shenbai.iteye.com/blog/1522718
Play framework 2.0入门教程(三)的源代码,Play留言板,详见http://blog.csdn.net/wfdztl521/article/details/8545838
Play framework 2.0入门教程(四)的源代码,Play留言板(数据库版),详见http://blog.csdn.net/wfdztl521/article/details/8766988
将Elasticsearch集成到您的Play... $ git clone https://github.com/eduardofcbg/playframework2-elasticsearch.git$ cd playframework2-elasticsearch$ sbt publish-local 在您的项目上,添加以下依赖项声明: ...
更新播放 2.4.0添加测试规范Playframework 2.2.1 (Scala) 和 MongoDb (Salat) 的第一步使用 MongoDb 而不是 Anorm 的待办事项应用程序我们将为 MongoDb 使用 Salat 库( )。 Play 2 有一个替代的“mongo-jackson-...
Playframework 2.3.1 (Java) 和 MongoDb (Jackson) 的第一步 不要忘记启动mongodb守护进程! 它应该使用默认主机 (localhost) 和默认端口。 运行应用程序: sbt run 如果运行本教程有任何问题,请报告,谢谢!
使用Play Framework 2.0 +,jQuery,Backbone.js,Marionette.js和Postgresql用Java / Scala编写的ERP应用程序 开发人员虚拟机 您可以下载此zip文件,其中包含安装并配置了Ubuntu 16.04,PostgreSQL,PlayFramework...
[强烈推荐, 文档不多, 很快就可以看完, 看完了, 就会使用play了] 目录 MVC应用程序模型 - 7 - app/controllers - 8 - app/models - 8 - app/views - 8 - 请求生命周期 - 8 - 标准应用程序布局layout - 9 - app...
play-services-base.properties
google-play-services版本15.0.1,依赖工程可直接引用到项目中,适用Eclipse及AndroidStudio开发环境,快捷方便,本人亲自整理,后续资源有问题可咨询。若后续google-play-services如需其他版本迭代,也可让我更进。
解决: Could not find play-services-basement.aar (com.google.android.gms:play-services-basement:15.0.1). Searched in the following locations: ...
TLeague_ A Framework for Competitive Self-Play basedDistributed Multi-Agent RL
play2.0 for java developers.pdf
play2-war-plugin, 用于 Play Framework 2.x的WAR插件 用于 Play Framework 2.x的 WAR插件Current versions: Play 2.2.x : 1.2.1 Play 2.3.0 -> 2.3.1 : 1.3-beta1 (Scala 2.1
苹果carplay开发插件CarPlay Communication Plug-in,官方下载,
使用 Play-Framework 2.3.x 的 Scala Oauth 2.0 在这个示例应用程序中,我们使用Oauth2.0创建带有Play-Framework 2.3.x 、 ReactiveMongo-Extensions 、 Cake-Pattern和Scala-Oauth2-Provider 的API。 我们使用 ...
CarPlay Communication Plug-in
PlayFramework框架缓存.pdf
play-services-ads-lite-18.3.0是2019-11-23为止,最新的安卓admob sdk,用于原生安卓介入 加入工程后: import com.google.android.gms.ads.AdListener; import com.google.android.gms.ads.AdRequest; import ...
对学习java开发框架及搜索的同学很有用,欢迎下载!