您的位置:首页 > 运维架构 > 网站架构

高并发高流量网站架构

2011-05-11 14:53 253 查看
转自:http://blog.csdn.net/SmartTony/archive/2010/09/09/5874485.aspx

http://luanmad2009.s156.eatj.com/thread-831-1-1.html

Ehcache和MemCached比较分析

项目

Memcache
Ehcache
分布式

不完全,集群默认不实现

支持

集群

可通过客户端实现

支持(默认是异步同步)

持久化

可通过第三方应用实现,如sina研发的memcachedb,将cache的数据保存到Berkerly DB

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



高于Memcache
容灾

可通过客户端实现。

支持

缓存数据方式

缓存在memcached server向系统申请的内存中

可以缓存在内存(JVM中),也可以缓存在硬盘。通过CacheManager管理cache。多个CacheManager可配置在一个JVM内,CacheManager可管理多个cache。

缓存过期移除策略

LRU

LRU(默认),FIFO,LFU

缺点

功能不完善,相对于Ehcache效率低

只适用于java体系,只能用java编写客户端

优点

简洁,灵活,所有支持socket的语言都能编写其客户端

效率高。功能强大。

最近研究了一下缓存技术,主要比较了一下memcached和ehcache。
ehcache是纯java编写的,通信是通过RMI方式,适用于基于java技术的项目。
memcached服务器端是c编写的,客户端有多个语言的实现,如c,php(淘宝,sina等各大门户网站),python(豆瓣网),java(Xmemcached,spymemcached)。memcached服务器端是使用文本或者二进制通信的。memcached的python客户端没有开源,其他语言的好像都开源了。另外我以前不明白为什么各大互联网公司都是使用memcached缓存,后来我明白了原因:因为各大门户网站以及淘宝是使用php编写的网站,memcached有php客户端,而ehcache是纯java
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: