Ehcache与Memcache的差别

ehcache是纯java编写的。通信是通过RMI方式,适用于基于java技术的项目。
memcachedserver端是c编写的。client有多个语言的实现,如c。php(淘宝。sina等各大门户站点),python(豆瓣网)。 java(Xmemcached,spymemcached)。

memcachedserver端是使用文本或者二进制通信的。

项目 Memcache Ehcache
分布式 不全然,集群默认不实现 支持
集群 可通过client实现 支持(默认是异步同步)
持久化 可通过第三方应用实现,如sina研发的memcachedb。将cache的数据保存到[url=]Berkerly DB[/url] 支持。

持久化到本地硬盘。生成一个.data和.index文件。cache初始化时会自己主动查找这两个文件。将数据放入cache

效率 高于Memcache
容灾 可通过client实现。 支持
缓存数据方式 缓存在memcached server向系统申请的内存中 能够缓存在内存(JVM中),也能够缓存在硬盘。通过CacheManager管理cache。多个CacheManager可配置在一个JVM内。CacheManager可管理多个cache。
缓存过期移除策略 LRU LRU(默认),FIFO,LFU
缺点 功能不完好。相对于Ehcache效率低 仅仅适用于java体系。仅仅能用java编写client
长处 简洁,灵活,全部支持socket的语言都能编写其client 效率高。

功能强大。

原文地址:https://www.cnblogs.com/llguanli/p/7158890.html