EhCache 是一个纯Java的进程内缓存框架,具备快速、精干等特色,是Hibernate中默认CacheProvider。Ehcache是一种普遍使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具备内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特色。redis
Spring 提供了对缓存功能的抽象:即容许绑定不一样的缓存解决方案(如Ehcache),但自己不直接提供缓存功能的实现。它支持注解方式使用缓存,很是方便。数据库
能够单独使用,通常在第三方库中被用到的比较多(如mybatis、shiro等)ehcache 对分布式支持不够好,多个节点不能同步,一般和redis一块使用api
ehcache直接在jvm虚拟机中缓存,速度快,效率高;可是缓存共享麻烦,集群分布式应用不方便。缓存
redis是经过socket访问到缓存服务,效率比ecache低,比数据库要快不少,
处理集群和分布式缓存方便,有成熟的方案。若是是单个应用或者对缓存访问要求很高的应用,用ehcache。若是是大型系统,存在缓存共享、分布式部署、缓存内容很大的,建议用redis。mybatis
ehcache也有缓存共享方案,不过是经过RMI或者Jgroup多播方式进行广播缓存通知更新,缓存共享复杂,维护不方便;简单的共享能够,可是涉及到缓存恢复,大数据缓存,则不合适。框架
参考:ehcache入门基础示例jvm