#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 );
}
分享到:
相关推荐
通过以上步骤,你已经成功地使用Play Framework 2.0 创建了一个简单的待办事项应用。Play Framework以其简洁的API、模块化的设计和强大的工具集,使得开发Web应用变得更加高效和愉快。继续深入学习,你会发现更多...
Play Framework 2.0 是一个基于Java和Scala的开源Web应用程序框架,以其“写后即运行”的特性而闻名。这个入门教程的第三部分是关于如何使用Play Framework构建一个简单的留言板应用。在这里,我们将深入探讨Play ...
Play框架是Java和Scala...通过学习这个源代码,你可以深入理解Play框架2.0的使用,包括数据库操作、MVC架构、路由配置和模板渲染等方面的知识。同时,它也是一个很好的起点,帮助你进一步掌握Scala编程和Web应用开发。
UPnP(Universal Plug and Play)是通用即插即用的缩写,是一种用于网络设备之间发现和通信的协议集。UPnP协议使得网络中的设备能够方便地彼此发现、自动配置并协同工作,从而简化了家庭和企业网络中设备的使用。...
用户安装了KMRE后,可以从Google Play或其他安卓应用商店下载apk文件,并在银河麒麟系统内直接安装和运行,享受与原生安卓设备相似的体验。 其次,KMRE的安装和使用过程相当便捷。在提供的压缩包“kmre_2.0-6_arm64...
### Play-Framework-ElasticSearch-Module:整合Java开发框架与搜索技术 在现代软件开发领域,特别是对于构建大规模、高性能的Web应用而言,选择合适的框架和技术堆栈至关重要。Play Framework作为一款流行且高效的...
在威派音乐网站v2.0的源码中,我们可以看到ASP技术的广泛应用,它允许开发者使用VBScript或JScript等脚本语言编写服务器端的代码,处理用户请求并返回动态内容。 ASP的核心组件包括以下几部分: 1. **脚本引擎**:...
将Elasticsearch集成到您的Play... $ git clone https://github.com/eduardofcbg/playframework2-elasticsearch.git$ cd playframework2-elasticsearch$ sbt publish-local 在您的项目上,添加以下依赖项声明: ...
play-services-cast-framework-9.2.0.jar play-services-clearcut-9.2.0.jar play-services-contextmanager-9.2.0.jar play-services-drive-9.2.0.jar play-services-fitness-9.2.0.jar play-services-games-9.2.0....
在"play-framework-kotlin"这个开源项目中,开发者旨在展示如何利用Kotlin的优势来构建Play框架的应用。项目存储库中的主要文件夹`play-framework-kotlin-master`很可能包含了项目的所有源代码、配置文件和其他资源...
使用缓存 - **Play缓存API** - 提供了一套缓存机制,可用于存储临时数据。 ##### 10. 调用Web服务 - **Play WS API** - 提供了一个简单易用的API来调用外部Web服务。 - **连接OpenID服务器** - 支持通过...
更新播放 2.4.0添加测试规范Playframework 2.2.1 (Scala) 和 MongoDb (Salat) 的第一步使用 MongoDb 而不是 Anorm 的待办事项应用程序我们将为 MongoDb 使用 Salat 库( )。 Play 2 有一个替代的“mongo-jackson-...
解决: Could not find play-services-basement.aar (com.google.android.gms:play-services-basement:15.0.1). Searched in the following locations: ...
Playframework 2.3.1 (Java) 和 MongoDb (Jackson) 的第一步 不要忘记启动mongodb守护进程! 它应该使用默认主机 (localhost) 和默认端口。 运行应用程序: sbt run 如果运行本教程有任何问题,请报告,谢谢!
标题“WSA-2310.40000.2.0-x64-Release(win10安卓子系统 2023年11月28日更新上传)”指的是Windows 10上的Android子系统的一个特定版本。这个版本的代号为WSA(Windows Subsystem for Android),它允许Windows用户...
使用Play Framework 2.0 +,jQuery,Backbone.js,Marionette.js和Postgresql用Java / Scala编写的ERP应用程序 开发人员虚拟机 您可以下载此zip文件,其中包含安装并配置了Ubuntu 16.04,PostgreSQL,PlayFramework...
google-play-services版本15.0.1,依赖工程可直接引用到项目中,适用Eclipse及AndroidStudio开发环境,快捷方便,本人亲自整理,后续资源有问题可咨询。若后续google-play-services如需其他版本迭代,也可让我更进。
- **缓存机制**:探讨了 Play Framework 中的缓存策略,以减少数据库负担并提升响应速度。 - **RESTful API 设计**:提供了详细的指导原则和最佳实践,帮助读者构建符合 REST 风格的 API。 #### 三、Play ...
play-services-base.properties
正确理解和使用缓存API,结合适当的缓存策略,可以极大地优化数据库交互,提升系统响应速度,同时要留意缓存的局限性,如数据一致性问题和数据过期管理。在开发过程中,应当根据项目需求和资源条件,合理配置和利用...