`

Play framework 2.0 -使用缓存

 
阅读更多

 

#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 );
	}
0
0
分享到:
评论

相关推荐

    Play framework 2.0 -第一个应用程序

    通过以上步骤,你已经成功地使用Play Framework 2.0 创建了一个简单的待办事项应用。Play Framework以其简洁的API、模块化的设计和强大的工具集,使得开发Web应用变得更加高效和愉快。继续深入学习,你会发现更多...

    Play framework 2.0入门教程(三)的源代码,Play留言板

    Play Framework 2.0 是一个基于Java和Scala的开源Web应用程序框架,以其“写后即运行”的特性而闻名。这个入门教程的第三部分是关于如何使用Play Framework构建一个简单的留言板应用。在这里,我们将深入探讨Play ...

    Play framework 2.0入门教程(四)的源代码,Play留言板(数据库版)

    Play框架是Java和Scala...通过学习这个源代码,你可以深入理解Play框架2.0的使用,包括数据库操作、MVC架构、路由配置和模板渲染等方面的知识。同时,它也是一个很好的起点,帮助你进一步掌握Scala编程和Web应用开发。

    UPnP-arch-DeviceArchitecture-v2.0-20200417.pdf

    UPnP(Universal Plug and Play)是通用即插即用的缩写,是一种用于网络设备之间发现和通信的协议集。UPnP协议使得网络中的设备能够方便地彼此发现、自动配置并协同工作,从而简化了家庭和企业网络中设备的使用。...

    kmre-2.0-6-arm64.rar安卓兼容层

    用户安装了KMRE后,可以从Google Play或其他安卓应用商店下载apk文件,并在银河麒麟系统内直接安装和运行,享受与原生安卓设备相似的体验。 其次,KMRE的安装和使用过程相当便捷。在提供的压缩包“kmre_2.0-6_arm64...

    Play-Framework-ElasticSearch-Module

    ### Play-Framework-ElasticSearch-Module:整合Java开发框架与搜索技术 在现代软件开发领域,特别是对于构建大规模、高性能的Web应用而言,选择合适的框架和技术堆栈至关重要。Play Framework作为一款流行且高效的...

    威派音乐网站 v2.0 -ASP源码.zip

    在威派音乐网站v2.0的源码中,我们可以看到ASP技术的广泛应用,它允许开发者使用VBScript或JScript等脚本语言编写服务器端的代码,处理用户请求并返回动态内容。 ASP的核心组件包括以下几部分: 1. **脚本引擎**:...

    playframework2-elasticsearch:适用于Elasticsearch 1.6的PlayFramework 2.4模块

    将Elasticsearch集成到您的Play... $ git clone https://github.com/eduardofcbg/playframework2-elasticsearch.git$ cd playframework2-elasticsearch$ sbt publish-local 在您的项目上,添加以下依赖项声明: ...

    google play service 最新版 firebase sdk 9.2

    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框架项目.zip

    在"play-framework-kotlin"这个开源项目中,开发者旨在展示如何利用Kotlin的优势来构建Play框架的应用。项目存储库中的主要文件夹`play-framework-kotlin-master`很可能包含了项目的所有源代码、配置文件和其他资源...

    play2.0 for java developers.pdf

    使用缓存 - **Play缓存API** - 提供了一套缓存机制,可用于存储临时数据。 ##### 10. 调用Web服务 - **Play WS API** - 提供了一个简单易用的API来调用外部Web服务。 - **连接OpenID服务器** - 支持通过...

    Play-2.0-Scala-MongoDb-Salat-exemple:这是一个来自官方网站的小型待办事项应用程序,但支持 mongodb 而不是 anorm

    更新播放 2.4.0添加测试规范Playframework 2.2.1 (Scala) 和 MongoDb (Salat) 的第一步使用 MongoDb 而不是 Anorm 的待办事项应用程序我们将为 MongoDb 使用 Salat 库( )。 Play 2 有一个替代的“mongo-jackson-...

    com.google.android.gms:play-gms:play-services:15.0.1

    解决: Could not find play-services-basement.aar (com.google.android.gms:play-services-basement:15.0.1). Searched in the following locations: ...

    Play-2.0-Java-MongoDb-Jackson-exemple:来自官方 Play 框架手册的一个小 todo 应用程序,但支持 mongodb

    Playframework 2.3.1 (Java) 和 MongoDb (Jackson) 的第一步 不要忘记启动mongodb守护进程! 它应该使用默认主机 (localhost) 和默认端口。 运行应用程序: sbt run 如果运行本教程有任何问题,请报告,谢谢!

    CrowSoft-Cairo:使用Play Framework 2.0+和Postgresql用JavaScala编写的ERP应用程序

    使用Play Framework 2.0 +,jQuery,Backbone.js,Marionette.js和Postgresql用Java / Scala编写的ERP应用程序 开发人员虚拟机 您可以下载此zip文件,其中包含安装并配置了Ubuntu 16.04,PostgreSQL,PlayFramework...

    最新google-play-services-sdk-15.0.1版本资源

    google-play-services版本15.0.1,依赖工程可直接引用到项目中,适用Eclipse及AndroidStudio开发环境,快捷方便,本人亲自整理,后续资源有问题可咨询。若后续google-play-services如需其他版本迭代,也可让我更进。

    Play Framework Cookbook.pdf

    - **缓存机制**:探讨了 Play Framework 中的缓存策略,以减少数据库负担并提升响应速度。 - **RESTful API 设计**:提供了详细的指导原则和最佳实践,帮助读者构建符合 REST 风格的 API。 #### 三、Play ...

    play-services-base.properties

    play-services-base.properties

    PlayFramework框架缓存.pdf

    正确理解和使用缓存API,结合适当的缓存策略,可以极大地优化数据库交互,提升系统响应速度,同时要留意缓存的局限性,如数据一致性问题和数据过期管理。在开发过程中,应当根据项目需求和资源条件,合理配置和利用...

    CarPlay Communication Plug-in R14G17.2.zip

    通过CarPlay,用户可以使用语音控制、触摸屏或物理旋钮来操作电话、导航、音乐和第三方应用,使驾驶过程更加便捷且安全。 此插件的主要功能包括: 1. **语音控制集成**:通过Siri,用户可以用自然语言与CarPlay...

Global site tag (gtag.js) - Google Analytics