• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >架构设计 > Ehcache缓存框架详解

Ehcache缓存框架详解

作者:文哥 字体:[增加 减小] 来源:互联网 时间:2017-07-23

文哥通过本文主要向大家介绍了ehcache等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

ehcache是一个比较成熟的java缓存框架,它提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案。ehcache最早从hibernate发展而来。由于3.x的版本和2.x的版本API差异比较大。这里直接学习最新版本的了,但是最后整合spring的时候还是有2.x。

二、安装

由于我的项目是使用maven管理的,因此只要在pom文件中添加如下代码即可。

<dependency>
    <groupId>javax.cache</groupId>
    <artifactId>cache-api</artifactId>
    <version>1.0.0</version>
</dependency>
<dependency>
    <groupId>org.ehcache</groupId>
    <artifactId>ehcache</artifactId>
    <version>3.3.1</version>
</dependency>

好像ehcache还要依赖上面的那个Cache,因此最好两个多加上。

三、使用

1、快速入门__JAVA实现

CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder() 
    .withCache("preConfigured",
        CacheConfigurationBuilder.newCacheConfigurationBuilder(Long.class, String.class, ResourcePoolsBuilder.heap(10))) 
    .build(); 
cacheManager.init(); 

Cache<Long, String> preConfigured =
    cacheManager.getCache("preConfigured", Long.class, String.class); 

Cache<Long, String> myCache = cacheManager.createCache("myCache", 
    CacheConfigurationBuilder.newCacheConfigurationBuilder(Long.class, String.class, ResourcePoolsBuilder.heap(10)));

myCache.put(1L, "da one!"); 
String value = myCache.get(1L); 

cacheManager.removeCache("preConfigured"); 

cacheManager.close(); 

这里使用的官网的例子。

  • CacheManagerBuilder.newCacheManagerBuilder():创建缓存构造器的构建者,类似工厂模式,注意,里面的实现不是单例。
  • .withCache() :相当于创建一个自带缓存的CacheManager。
  • build() :这个方法就是创建CacheManager了。

    上面的build方法接受一个boolean参数:当为true时,CacheManager在使用时就不用初始化,否则,就需要CacheManager调用init()进行初始化操作。默认为false。
    
  • cacheManager.getCache():获取缓存

  • cacheManager.createCache():创建缓存。
  • myCache.put(1L, “da one!”):在缓存中添加值

2、快速入门__XML实现

    <cache alias="foo">
        <!-- 缓存键值对的类型 -->
        <key-type>java.lang.String</key-type>
        <value-type>java.lang.String</value-type>
        <!-- 配置缓存 -->
        <expiry>
            <ttl unit="seconds">2</ttl>
        </expiry>
        <resources>
            <!-- 在堆中申请2000个entries -->
            <heap unit="entries">2000</heap>
            <!-- 最大非堆内存 -->
            <offheap unit="MB">500</offheap>
        </resources>

    </cache>
    <!-- 定一个模板 -->
    <cache-template name="myDefaults">
        <key-type>java.lang.Long</key-type>
        <value-type>java.lang.String</value-type>
        <heap unit="entries">200</heap>
    </cache-template>
    <!-- 使用上面的模板 -->
    <cache alias="bar" 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-07-23计算机网络体系结构综述(上)
  • 2017-07-23架构设计:系统存储(27)——分布式文件系统Ceph(安装)
  • 2017-08-22Kafka、RabbitMQ、RocketMQ消息中间件的对比 | 消息发送性能篇
  • 2017-07-23Ehcache缓存框架详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 架构设计:系统存储(27)——分布式文件系统Ceph(安装)
    • Ehcache缓存框架详解
    • Kafka、RabbitMQ、RocketMQ消息中间件的对比 | 消息发送性能篇
    • 计算机网络体系结构综述(上)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有