Memcached是用在很多网站的cache软件,包括Live Journal, Slashdot, Wikipedia;其基本概念是hashtable,在cache中式key和value的对应,存取用get和set,这一点Coherence是一样的,也许是借鉴memcache的。
在多个节点的情况下,memcache并不需要查找key,而是由key的hashcode可以直接得到对象的存取位置,所以应该是实现了某种DHT的算法,这一点Coherence应该也是一样的,这样的好处是明显的,cache并不需要在网络上寻找对象(或者说很容易知道存储的位置),只需要到它知道的节点上去获取对象就可以了;但有一点很大的不同是memcached每个节点是独立的,各个节点间并不通讯,也就是说如果有一个instance crash,memcached需要在客户端去除掉这一节点,但Coherence不同节点组成cluster,数据可以互相备份,如果有节点crash那么利用备份的数据,cluster可以重新分配数据的存储,分配数据的备份。当然这样做的好处和坏处也是显而易见的,好处当然是不一样的可靠性。
据称memcached可以每个节点使用不同大小的内存,那么不同的节点上存储的数据就不同,这点Coherence做不到,Coherence的数据是均匀分布的
文章里说memcached没有锁的机制,这个特点(?)则不存在block的情况,resource里把这个当作优点的说,当然吞吐量是提高了,很多事情都是看你从哪个方面来看。Coherence则实现了分布锁,如果对数据完整性有要求这是必然的。
另外我们可以看到memcached client的作用是存取memcached里的数据,也就是说它没有local cache,每次数据的读取都从网络,这一点和Coherence的Distributed Cache是一样的,但Coherence的top相对灵活还有一种top叫near包含有local cache
目前的memcache用c写的,有Java等语言的客户端
Resource里提到LiveJournal用了28个instance,cache了30G的数据,cache的命中率达到92%
据我所知国内也有很多站点使用了memcached包括新浪、豆瓣等
当然有很多另外的企业特性的要求不再这里的讨论之列,比如Transaction,distributed computing
Reference: http://www.linuxjournal.com/article/7451#comment-11715
分享到:
相关推荐
memcached,redis性能测试,内存缓存系统的性能测试;
memcached32位&64位支持win8.1 安装: memcached -d install memcached -d start net start "Memcached Server" 卸载: memcached -d stop memcached -d remove sc delete "Memcached Server" memcached的基本设置:...
安装php-memcached扩展 https://github.com/php-memcached-dev/php-memcached tar -zxvf php-memcached-3.1.3.tar.gz && cd /root/php-memcached-3.1.3 && /usr/local/php7/bin/phpize && ./configure --with-...
在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装 3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动...
memcached 64位 window memcached 64位 window memcached 64位 window
PHP5.3版本在windows下安装...Module compiled with module API=20090626, debug=0, thread-safety=0 ...These options need to match 试着百度很多资料都不行!谷歌后找到如下资料,附下网址,方便再次遇到的朋友!...
memcached, libevent, MemCachedClient
安装Memcached及Memcached配置
memcached安装软件 libevent-2.0.21-stable.tar.gz magent.tar.gz memcached-1.4.15.tar.gz
python-memcached python-memcached
memcached的基本设置: -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 -d ...
使用memcached 方法 package com.war.common.util; import com.danga.MemCached.*; import java.util.Date; public class MemCached { protected static MemCachedClient mcc; protected static Logger log; ...
MemCached For Win32 服务器 -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 -...
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...
memcached可视化工具memadmin,memcached可视化工具memadmin
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...
memcached.exe及memcached.dll
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载,很好的提高了Web性能。Memcached需要有缓存服务端,采用java编程的话还需要memcached.jar,这就是java中实现memcached服务的...
到memcached根目录 1、安装:memcached.exe –d install 2、启动:memcached.exe -d start 此时memcached已经注册为开机启动服务完成安装。 使用参数: -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动...