#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 );
}
分享到:
相关推荐
### Play2.0 for Java Developers #### 概述 Play2.0是一个现代的Web应用框架,它基于Java和Scala语言构建,旨在提供简洁、快速且可扩展的应用开发体验。对于Java开发者而言,Play2.0提供了一套完整的Java API,...
11.在play框架里使用Ajax - 94 - 通过jsAction标签使用jQuery - 95 - 12. Internationalization国际化支持 - 96 - 仅使用 UTF-8! - 96 - 国际化你的信息 - 96 - 通过应用程序定义支持的语言 - 96 - 依照你的区域定义...
**下载链接**: [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项目是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)
但随着技术的发展,现在更多的开发者可能转向使用Spring Boot、Hibernate ORM(取代XFire的现代Web服务框架如Spring Web Services)和更新版本的Struts或替代品如Play Framework。 然而,由于描述中提到“jar自已去...
它可以与其他 Scala 库如 Play Framework 结合,用于 web 应用的测试。 2. **Markdown**:一种简单的文本格式,常用于编写文档,支持标题、列表、链接等基本元素,易于阅读和转换成 HTML、PDF 等格式。在 specs2 中...
* .Net Framework:2.0 或更高版本 在安装灵音播放器之前,用户需要确保自己的系统满足这些要求。 灵音播放器的安装步骤包括: 1. 打开灵音播放器的安装程序。 2. 选择安装语言和安装目录。 3. 等待安装程序完成...
1. **服务器架构**:可能采用了Spring Boot或Play Framework等Java Web框架,它们能快速搭建后端服务,并提供了丰富的功能支持。 2. **数据库管理**:可能使用了MySQL、PostgreSQL或者MongoDB等数据库系统,用于...
因此,我们可以假设这个API的实现基于Java的Web框架,如Spring Boot或Play Framework,这些框架提供了构建RESTful API的便利。 在文件名称列表中,我们看到"api-master",这可能是一个Git仓库的默认分支名,代表这...