美文网首页
Ehcache简单了解学习

Ehcache简单了解学习

作者: 行人说 | 来源:发表于2019-02-26 20:10 被阅读0次

    1.ehcahche是个啥?
    EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。
    Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。
    1.ehcache的特性?
    主要的特性有:
    快速
    简单
    多种缓存策略
    缓存数据有两级:内存和磁盘,因此无需担心容量问题
    缓存数据会在[虚拟机]重启的过程中写入磁盘
    可以通过RMI、可插入API等方式进行分布式缓存
    具有缓存和缓存管理器的侦听接口
    支持多[缓存]管理器实例,以及一个实例的多个缓存区域
    提供Hibernate的缓存实现

    3.ehcache简单实用.

    EHCache API的基本用法
    首先介绍CacheManager类。它主要负责读取配置文件,默认读取CLASSPATH下的ehcache.xml,根据配置文件创建并管理Cache对象。
    // 使用默认配置文件创建CacheManager
    CacheManager manager = CacheManager.create();
    // 通过manager可以生成指定名称的Cache对象
    Cache cache = cache = manager.getCache("demoCache");
    // 使用manager移除指定名称的Cache对象
    manager.removeCache("demoCache");
    可以通过调用manager.removalAll()来移除所有的Cache。通过调用manager的shutdown()方法可以关闭CacheManager。
    有了Cache对象之后就可以进行一些基本的Cache操作,例如:
    //往cache中添加元素
    Element element = new Element("key", "value");
    cache.put(element);
    //从cache中取回元素
    Element element = cache.get("key");
    element.getValue();
    //从Cache中移除一个元素
    cache.remove("key");
    可以直接使用上面的API进行数据对象的缓存,这里需要注意的是对于缓存的对象都是必须可序列化的。
    配置文件:
    <cache name="demoCache"
    maxElementsInMemory="10000"
    eternal="false"
    overflowToDisk="true"
    timeToIdleSeconds="300"
    timeToLiveSeconds="600"
    memoryStoreEvictionPolicy="LFU" />
    各配置参数的含义:
    maxElementsInMemory:缓存中允许创建的最大对象数
    eternal:缓存中对象是否为永久的,如果是,超时设置将被忽略,对象从不过期。
    timeToIdleSeconds:缓存数据的钝化时间,也就是在一个元素消亡之前,两次访问时间的最大时间间隔值,这只能在元素不是永久驻留时有效,如果该值是 0 就意味着元素可以停顿无穷长的时间。
    timeToLiveSeconds:缓存数据的生存时间,也就是一个元素从构建到消亡的最大时间间隔值,这只能在元素不是永久驻留时有效,如果该值是0就意味着元素可以停顿无穷长的时间。
    overflowToDisk:内存不足时,是否启用磁盘缓存。
    memoryStoreEvictionPolicy:缓存满了之后的淘汰算法。LRU和FIFO算法这里就不做介绍。LFU算法直接淘汰使用比较少的对象,在内存保留的都是一些经常访问的对象。对于大部分网站项目,该算法比较适用。
    如果应用需要配置多个不同命名并采用不同参数的Cache,可以相应修改配置文件,增加需要的Cache配置即可。

    https://www.cnblogs.com/duanxz/p/5155985.html。有关缓存整合的。

    相关文章

      网友评论

          本文标题:Ehcache简单了解学习

          本文链接:https://www.haomeiwen.com/subject/slmzyqtx.html