`
mk926
  • 浏览: 10471 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

Memcached & Coherence

阅读更多

    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

5
4
分享到:
评论
1 楼 zhb8015 2012-09-17  
 

相关推荐

    memcached&redis;性能测试

    memcached,redis性能测试,内存缓存系统的性能测试;

    memcached32位&64位

    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-3.1.3.tar.gz

    安装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-...

    memcached windows稳定版

    在终端(也即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 memcached 64位 window

    memcached1.2.6 & php_memcace.dll & php5.3 for windows

    PHP5.3版本在windows下安装...Module compiled with module API=20090626, debug=0, thread-safety=0 ...These options need to match 试着百度很多资料都不行!谷歌后找到如下资料,附下网址,方便再次遇到的朋友!...

    memcached安装包以及MemCachedClient

    memcached, libevent, MemCachedClient

    安装Memcached及Memcached配置

    安装Memcached及Memcached配置

    memcached安装软件 libevent magent memcached

    memcached安装软件 libevent-2.0.21-stable.tar.gz magent.tar.gz memcached-1.4.15.tar.gz

    python-memcached python-memcached

    python-memcached python-memcached

    memcached-win-32/64-1.4.4-14

    memcached的基本设置: -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 -d ...

    memcached-2.4.2.jar memcached-2.4.2.jar

    使用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

    MemCached For Win32 服务器 -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 -...

    Memcached v1.5.7 For Windows (附带Memcached和libevent源码两个版本)

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...

    Memcached 学习资料(memcached Memcached使用手册 Memcached源码剖析笔记)

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...

    memcached可视化工具

    memcached可视化工具memadmin,memcached可视化工具memadmin

    Memcached v1.5.3 For Windows (附带Memcached和libevent源码)

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...

    memcached.exe及memcached.dll

    memcached.exe及memcached.dll

    memcached 服务端以及memcached.jar

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载,很好的提高了Web性能。Memcached需要有缓存服务端,采用java编程的话还需要memcached.jar,这就是java中实现memcached服务的...

    Memcached 1.2.1.0 For Windows

    到memcached根目录 1、安装:memcached.exe –d install 2、启动:memcached.exe -d start 此时memcached已经注册为开机启动服务完成安装。 使用参数: -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动...

Global site tag (gtag.js) - Google Analytics