“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

Ehcache 3.0 发布,修补了 API 并支持非堆存储

  • 2016-05-04
  • 本文字数:1191 字

    阅读完需:约 4 分钟

Terracotta发布了分布式缓存技术Ehcache 的3.0 版本,支持了一些重要的新特性。首先,它的API 进行了重构,现在使用了Java 的泛型。性能也有所提升,同时还增加了对 javax.cache API( JSR-107 )和非堆存储功能的支持。因为支持javax.cache API,Ehcache 3.0 与 Spring 的缓存实现了完全的兼容。

开发人员可以通过如下的坐标将该版本的 Ehcache 集成到 Maven 项目之中:

复制代码
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>3.0.0</version>
</dependency>

对于 Gradle 用户来说,需要这样声明:

compile group: 'org.ehcache', name: 'ehcache', version: '3.0.0'Ehcache 的 Java API 使用了生成器(builder)方式,从而提供了一种很流畅的配置方式。我们可以使用CacheManager来与Cache进行交互:

复制代码
CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
.withCache("myCache",
CacheConfigurationBuilder.newCacheConfigurationBuilder(
Long.class, String.class, ResourcePoolsBuilder.heap(10)))
.build(true);
Cache myCache =
cacheManager.getCache("myCache", Long.class, String.class);
myCache.put(1L, "First!");
String value = myCache.get(1L);
cacheManager.removeCache("myCache");
cacheManager.close();

Ehcache 还提供了新的UserManagedCache,借助它可以创建非 CacheManager 管理的缓存,比如分配短生命周期的缓存(参见配置指南了解更多信息)。

与之前的版本类似,Ehcache 3.0 提供了存储层,这样的话,我们就能将频繁使用的数据放在较快的分层,而将很少使用的数据放在更慢的分层。

如下是一个样例,展示了如何为堆、非堆以及磁盘存储配置资源池。在这个样例中,为磁盘存储提供了一个路径并创建了三个不同的资源池。第一个资源池的大小是存放10 个条目,第二个资源池的是非堆的,它最多存储1MB,最后一个磁盘资源池被设置为20MB。

复制代码
PersistentCacheManager persistentCacheManager =
CacheManagerBuilder.newCacheManagerBuilder()
.with(CacheManagerBuilder.persistence(
getStoragePath() + File.separator + "myData"))
.withCache("threeTieredCache",
CacheConfigurationBuilder.newCacheConfigurationBuilder(
Long.class, String.class,
ResourcePoolsBuilder.newResourcePoolsBuilder()
.heap(10, EntryUnit.ENTRIES)
.offheap(1, MemoryUnit.MB)
.disk(20, MemoryUnit.MB)
)
).build(true);

Ehcache 邀请开发人员为其提供贡献内容(参见贡献文档 来了解更多信息)。对于一般的问题和帮助请求,参考 ehcache 的用户邮件列表

查看英文原文 Ehcache 3.0 Released with Revamped API and Off-Heap Storage

2016-05-04 19:005956

评论

发布
暂无评论
发现更多内容

CodeWhisperer 初体验

亚马逊云科技 (Amazon Web Services)

Python 人工智能 sql 云上探索实验室 Amazon CodeWhisperer

浅谈搜索展现层场景化技术-tanGo实践

百度Geek说

企业号10月PK榜 搜索场景化 展现层技术 阿拉丁

mybatis plus很好,但是我被它坑了!

越长大越悲伤

Java MySQL mybatis Mybatis Plus

去中心化应用程序(DAPPS)开发

西安链酷科技

分布式 dapp 去中心化 交易所

PHP/MySQL开发本地服务器 MAMP Pro for Mac

展初云

Mac软件 开发软件 MAMP

mac电脑屏幕调节亮度软件 Lunar pro 激活最新版

mac大玩家j

Mac软件 屏幕亮度调整工具 屏幕管理软件

Linux 性能调优之网络优化

山河已无恙

网络优化 网络性能优化 10月月更

浅析Redis大Key | 京东云技术团队

京东科技开发者

redis key redis 底层原理 企业号10月PK榜

多链多签名数字货币加密货币

西安链酷科技

区块链 软件开发 dapp 去中心化 钱包

Mac系统的防病毒软件推荐Antivirus Zap - Virus Scanner 最新中文版

胖墩儿不胖y

Mac软件 杀毒软件 mac系统维护软件

编程和数学计算软件MATLAB R2023b for Mac

展初云

Mac matlab Mac软件

好用的全局代理客户端 Proxifier for Mac

展初云

Mac 代理 Mac软件 Proxifier

VMware Workstation 17安装教程:安装系统

小齐写代码

@所有人,2023开放原子开发者大会议题征集火热进行中!

开放原子开源基金会

开源 开发者大会

记一次老商家端应用内存突然飚高原因分析 | 京东物流技术团队

京东科技开发者

企业号10月PK榜 fullGC 内存飙升

逻辑漏洞挖掘之CSRF漏洞原理分析及实战演练 | 京东物流技术团队

京东科技开发者

CSRF 安全测试 漏洞分析 逻辑漏洞 企业号10月PK榜

App 支付报错“商家订单参数异常,请重新发起付款“排查流程

盐焗代码虾

支付宝 支付宝报错 排查思路 APP支付

ES6新特性(六)

阡陌r

JavaScript import ES6 export 模块化

代币开发工具:从 Truffle 到 Hardhat

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

Java模块化应用实践之精简JRE | 京东云技术团队

京东科技开发者

Java jre 企业号10月PK榜 Java21

超实用的企业防范数据泄露小技巧!

行云管家

数据 数据安全 数据泄露 企业数据

赣州有资质等保测评机构有几家?咨询电话多少?

行云管家

等保 等级保护 等保测评 赣州

中移链浏览器简介

BSN研习社

涛思数据与胜软科技达成战略合作,共同赋能石油行业数字化转型

TDengine

tdengine 时序数据库

Downie 4 for Mac(视频下载软件) 4.6.33和谐直装版

mac

视频下载工具 Downie4 苹果mac Windows软件

Java基础面试题【MyBatis】

派大星

Java 面试题

Ehcache 3.0发布,修补了API并支持非堆存储_Java_Matt Raible_InfoQ精选文章