`

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
分享到:
评论

相关推荐

    play2.0 for java developers.pdf

    ### Play2.0 for Java Developers #### 概述 Play2.0是一个现代的Web应用框架,它基于Java和Scala语言构建,旨在提供简洁、快速且可扩展的应用开发体验。对于Java开发者而言,Play2.0提供了一套完整的Java API,...

    play框架手册

    11.在play框架里使用Ajax - 94 - 通过jsAction标签使用jQuery - 95 - 12. Internationalization国际化支持 - 96 - 仅使用 UTF-8! - 96 - 国际化你的信息 - 96 - 通过应用程序定义支持的语言 - 96 - 依照你的区域定义...

    java开源框架下载集合

    **下载链接**: [http://download.playframework.org/releases/play-2.0.zip](http://download.playframework.org/releases/play-2.0.zip) Play Framework 是一款基于Java和Scala的高性能、轻量级Web应用开发框架。...

    play-pac4j:Java和Scala中Play框架2的安全性库:OAuth,CAS,SAML,OpenID Connect,LDAP,JWT。

    play-pac4j项目是Play框架v2 Web应用程序和Web... (Java和Scala)请勿使用Play v2.6.3和v2.6.5,它们在其缓存实现中存在问题! 2.7 3.x (Java和Scala) 2.7 4.x (Java和Scala) 2.8 4.x (Java和Scala)

    spring2.0 hibernate 3.0 struts1.1 xfire1.2 整合

    但随着技术的发展,现在更多的开发者可能转向使用Spring Boot、Hibernate ORM(取代XFire的现代Web服务框架如Spring Web Services)和更新版本的Struts或替代品如Play Framework。 然而,由于描述中提到“jar自已去...

    specs2-markdown_2.11.0-RC1-2.3.10.zip

    它可以与其他 Scala 库如 Play Framework 结合,用于 web 应用的测试。 2. **Markdown**:一种简单的文本格式,常用于编写文档,支持标题、列表、链接等基本元素,易于阅读和转换成 HTML、PDF 等格式。在 specs2 中...

    灵音播放器 - 聚合搜索试听下载 QQ虾米网易音乐资源工具 (MP3无损MV)1

    * .Net Framework:2.0 或更高版本 在安装灵音播放器之前,用户需要确保自己的系统满足这些要求。 灵音播放器的安装步骤包括: 1. 打开灵音播放器的安装程序。 2. 选择安装语言和安装目录。 3. 等待安装程序完成...

    mengtaiqi:檬太奇app及网站的后端

    1. **服务器架构**:可能采用了Spring Boot或Play Framework等Java Web框架,它们能快速搭建后端服务,并提供了丰富的功能支持。 2. **数据库管理**:可能使用了MySQL、PostgreSQL或者MongoDB等数据库系统,用于...

    api:每天大红包 · 服务端

    因此,我们可以假设这个API的实现基于Java的Web框架,如Spring Boot或Play Framework,这些框架提供了构建RESTful API的便利。 在文件名称列表中,我们看到"api-master",这可能是一个Git仓库的默认分支名,代表这...

Global site tag (gtag.js) - Google Analytics