ehcache是纯java编写的,通信是通过rmi方式,适用于基于java技术的项目。memcached服务器端是c编写的,客户端有多个语言实现,如c,php(淘宝,sina等各大门户网站),python(豆瓣网), java(xmemcached,spymemcached)。memcached服务器端是使用文本或者二进制通信的。
分布式:memcached不完全。集群默认不实现,ehcache支持。
集群:memcached可通过客户端实现。ehcache支持(默认是异步同步)。
持久化:memcached可通过第三方应用实现,如sina研发的memcachedb,将cache的数据保存到[url=]berkerly db[/url]。ehcache支持。持久化到本地硬盘,生成一个.data和.index文件。cache初始化时会自动查找这两个文件,将数据放入cache。
效率:memcached高。ehcache高于memcache。
容灾:memcached可通过客户端实现。ehcache支持。
缓存数据方式:memcached缓存在memcached server向系统申请的内存中。ehcache可以缓存在内存(jvm中),也可以缓存在硬盘。通过cachemanager管理cache。多个cachemanager可配置在一个jvm内,cachemanager可管理多个cache。
缓存过期移除策略:memcached是lru。ehcache是lru(默认),fifo,lfu。
缺点:memcached功能不完善,相对于ehcache效率低。ehcache只适用于java体系,只能用java编写客户端。
优点:memcached简洁,灵活,所有支持socket的语言都能编写其客户端。ehcache效率高。功能强大。
同问。。。
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....