ehcache是纯java编写的,通信是通过RMI方式,适用于基于java技术的项目。
memcached服务器端是c编写的,客户端有多个语言的实现,如c,php(淘宝,sina等各大门户网站),python(豆瓣网), java(Xmemcached,spymemcached)。memcached服务器端是使用文本或者二进制通信的。
项目
|
Memcache
|
Ehcache
|
分布式 |
不完全,集群默认不实现 |
支持 |
集群 |
可通过客户端实现 |
支持(默认是异步同步) |
持久化 |
可通过第三方应用实现,如sina研发的memcachedb,将cache的数据保存到[url=]Berkerly DB[/url] |
支持。持久化到本地硬盘,生成一个.data和.index文件。cache初始化时会自动查找这两个文件,将数据放入cache |
效率 |
高 |
高于Memcache |
容灾 |
可通过客户端实现。 |
支持 |
缓存数据方式 |
缓存在memcached server向系统申请的内存中 |
可以缓存在内存(JVM中),也可以缓存在硬盘。通过CacheManager管理cache。多个CacheManager可配置在一个JVM内,CacheManager可管理多个cache。 |
缓存过期移除策略 |
LRU |
LRU(默认),FIFO,LFU |
缺点 |
功能不完善,相对于Ehcache效率低 |
只适用于java体系,只能用java编写客户端 |
优点 |
简洁,灵活,所有支持socket的语言都能编写其客户端 |
效率高。功能强大。 |
分享到:
相关推荐
Ehcache和Memcache是两种广泛使用的缓存解决方案,它们各有特点,适用于不同的场景。本文将深入探讨这两种缓存技术的性能比较,以帮助开发者更好地选择适合自己的缓存策略。 首先,Ehcache是一款Java缓存框架,它...
2. JCache API兼容:Ehcache遵循JSR-107(JCache)标准,使得与其他Java应用集成更加便捷。 3. 多级缓存结构:Ehcache提供了热数据的高速缓存和冷数据的持久化缓存两级结构。 Memcached则是一款轻量级、高性能的...
标题中的“ehcache-memcache-redis 三大缓存男高音”指的是三种常见的高性能缓存系统:Ehcache、Memcached和Redis。这三种缓存技术在IT领域广泛应用于提高应用程序的性能,通过存储经常访问的数据来减少数据库查询,...
与Redis和Memcached相比,EnCache更侧重于企业级应用,提供更多的管理和控制功能,但可能在性能上稍逊一筹。 学习NoSQL,尤其是Redis、Memcached和EnCache,你需要了解以下核心概念: 1. **数据模型**:理解每种...
此项目是对是Spring3中缓存模块的扩展,增加了对EhCache、MemCache、Redis的实现,使之支持Spring3注解来操作缓存,并且提供了一些新新的功能,具有以下特点: 1、提供统一的缓存操作api; 2、支持同时使用EhCache、...
该项目为Java平台量身打造的缓存工具类库,集成了memcache、redis和ehcache三种缓存技术,提供高效的数据存储解决方案。源码包含33个文件,包括24个Java源文件、3个POM依赖配置文件、2个属性文件、1个Git忽略文件、1...
最后,关闭与Memcache的连接以释放资源。 请注意,由于Memcache不提供内置的遍历功能,获取所有键可能不是非常高效的操作,尤其是在大型缓存系统中。因此,通常建议只遍历你关心的键范围或通过其他方式(如时间戳、...
Ehcache作为组件级缓存,其性能受到web服务器和集群方式的影响,不具备与memcache、redis、tair的直接对比性。而MongoDB是文档型数据库,其设计目标与缓存系统不同,不适宜进行性能对比。 测试场景涵盖了单机环境和...
Ehcache由于是组件级别的缓存,不适合作为独立的缓存服务器进行对比,而MongoDB作为面向文档的数据库,其功能和缓存服务不具可比性,因此这两者未纳入此次测试。 【单机环境测试】 在单机环境中,测试了四个关键...
1. **添加依赖**:首先,需要在项目的构建文件(如Maven的pom.xml或Gradle的build.gradle)中添加Memcache的客户端库,如spymemcached,以及Hibernate的缓存插件,如hibernate-ehcache。 2. **配置Hibernate**:在...
### 三大缓存比较:Ehcache、Memcache与Redis #### 一、Ehcache **概述**: Ehcache 是一款广泛应用于 Java 项目的开源缓存解决方案,旨在通过缓存机制降低从关系型数据库 (RDBMS) 获取数据的成本。Ehcache 因其...
Ehcache作为组件级缓存,其性能受到Web服务器和集群配置的影响,与独立的缓存服务器不具备可比性。而MongoDB是文档型数据库,与纯粹的缓存服务性质不同,因此未纳入本次测试。 测试主要针对以下场景: 1. **空...
3. **应用代码修改**:如果可能,你需要更新应用代码,使其在创建session时,使用与memcache兼容的方式。这可能涉及到对session ID的处理和session属性的序列化/反序列化。 4. **测试和优化**:完成配置后,进行...
【标题】:“ehcache、memcache、redis 三大缓存系统对比分析.pdf” 【描述】:本文将深入探讨三个广泛使用的缓存系统——Ehcache、Memcached 和 Redis,分析它们的特点、优缺点以及适用场景,帮助读者理解这三大...
相较于EhCache和MemCache,Redis提供了更多的功能和优势。EhCache最初并不支持分布式,通常适用于小型应用,而MemCache虽然支持分布式,但它的一个显著缺点是数据丢失问题——在断电或重启后,内存中的数据无法恢复...
在给定的资源中,我们可以看到四个项目源代码,分别与缓存相关的技术有关,可能是为了演示或实现不同的缓存策略。此外,还有一个"java缓存_other"目录,其中可能包含与这些缓存系统相关的文档,如设计文档、使用手册...
Ehcache的主要特性包括缓存分区、缓存过期策略、缓存预热以及与Hibernate等ORM框架的集成。源代码中可能包含了Ehcache的使用示例,展示了如何创建缓存实例、添加和检索数据,以及如何配置缓存策略。 其次,...
数据存储在内存中-对于最初的实现,由地图支持的存储库就足够了,因为还不需要诸如EHCache或MemCache的缓存功能(例如LRU过期,缓存未命中,堆外等)。 当前项目数据结构的大小和数据集的大小不太可能需要永久存储...