zoukankan      html  css  js  c++  java
  • ehcache介绍

    EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。

    特性
    • 快速、简单
    • 多种缓存策略
    • 缓存数据有两级:内存和磁盘,因此无需担心容量问题
    • 缓存数据会在虚拟机重启的过程中写入磁盘
    • 可以通过RMI、可插入API等方式进行分布式缓存
    • 具有缓存和缓存管理器的侦听接口
    • 支持多缓存管理器实例,以及一个实例的多个缓存区域
    • 提供Hibernate的缓存实现
    集成

    可以单独使用,一般在第三方库中被用到的比较多(如mybatis、shiro等)ehcache 对分布式支持不够好,多个节点不能同步,通常和redis一块使用。

    灵活性
    • ehcache具备对象api接口和可序列化api接口。
    • 不能序列化的对象可以使用出磁盘存储外ehcache的所有功能。
    • 支持基于Cache和基于Element的过期策略,每个Cache的存活时间都是可以设置和控制的。
    • 提供了LRU、LFU和FIFO缓存淘汰算法,Ehcache 1.2引入了最少使用和先进先出缓存淘汰算法,构成了完整的缓存淘汰算法。
    • 提供内存和磁盘存储,Ehcache和大多数缓存解决方案一样,提供高性能的内存和磁盘存储。
    • 动态、运行时缓存配置,存活时间、空闲时间、内存和磁盘存放缓存的最大数目都是可以在运行时修改的。
    应用持久化
    • 在vm重启后,持久化到磁盘的存储可以复原数据。
    • Ehache是第一个引入缓存数据持久化存储的开源java缓存框架,缓存的数据可以在机器重启后从磁盘上重新获得。
    • 根据需要将缓存刷到磁盘。将缓存条目刷到磁盘的操作可以通过cache.fiush方法执行,这大大方便了ehcache的使用。
    ehcache 和 redis 比较
    • ehcache直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享麻烦,集群分布式应用不方便。
    • redis是通过socket访问到缓存服务,效率比ecache低,比数据库要快很多(即集中式缓存),

    处理集群和分布式缓存方便,有成熟的方案。如果是单个应用或者对缓存访问要求很高的应用,用ehcache。如果是大型系统,存在缓存共享、分布式部署、缓存内容很大的,建议用redis。

    时刻与技术进步,每天一点滴,日久一大步!!! 本博客只为记录,用于学习,如有冒犯,请私信于我。
  • 相关阅读:
    上下文管理器
    创建项目与介绍(2)
    虚拟环境的安装(1)
    爬虫-selenium(14-2)扩展
    爬虫10-1(协程)
    Python3笔记038
    Python3笔记037
    Python3笔记036
    Python3笔记035
    Python3笔记034
  • 原文地址:https://www.cnblogs.com/myitnews/p/13708657.html
Copyright © 2011-2022 走看看