读书人

关于memcached client的取舍

发布时间: 2012-10-26 10:30:59 作者: rapoo

关于memcached client的选择
Memcached(http://www.danga.com/memcached/)是被广泛使用的分布式缓存技术,javaeye也使用memcached做对象缓存。
不同的语言有不同的memcached客户端程序,对于java客户端来说,memcached网站给了两个选择:
引用
1. A Java API is maintained by Greg Whalin from Meetup.com. You can find that library here:
* http://www.whalin.com/memcached/ -- Java API for memcached
2. An improved Java API maintained by Dustin Sallings is also available. Aggressively optimised, ability to run async, supports binary protocol, etc. See site for details:
* http://bleu.west.spy.net/~dustin/projects/memcached/ -- Improved Java API for memcached

从字面上我们很容易看出第二个(net.spy.memcached)应该性能更好,但是网上包括javaeye上面关于java client的讨论和使用都是基于第一个(com.danga.memcached )的。

为什么性能好的反而讨论的比较少呢?我猜测的原因在于,第一个Client出来的比较早,网上资料也比较多。有些人就没有到memched网站看client api直接使用google之类的搜索引擎搜索到第一个client就是用。

目前没有这两个client的对比数据,有没有做了,拿出来共享一下?

1 楼 lizhilin 2008-01-10 第二种可以使用异步的方式 速度上 简单的试了一下 好像确实要快一点 2 楼 ithero 2008-01-11 楼主看看这句话:
This is a simple, asynchronous, single-threaded memcached client written in java.就明白了 3 楼 darkelf9 2008-01-12 第一个出得比第二个早
以前的网站上只有第一个
所以现在第一个的应用范围要广一些


andyao 写道Memcached(http://www.danga.com/memcached/)是被广泛使用的分布式缓存技术,javaeye也使用memcached做对象缓存。
不同的语言有不同的memcached客户端程序,对于java客户端来说,memcached网站给了两个选择:
引用
1. A Java API is maintained by Greg Whalin from Meetup.com. You can find that library here:
* http://www.whalin.com/memcached/ -- Java API for memcached
2. An improved Java API maintained by Dustin Sallings is also available. Aggressively optimised, ability to run async, supports binary protocol, etc. See site for details:
* http://bleu.west.spy.net/~dustin/projects/memcached/ -- Improved Java API for memcached

从字面上我们很容易看出第二个(net.spy.memcached)应该性能更好,但是网上包括javaeye上面关于java client的讨论和使用都是基于第一个(com.danga.memcached )的。

为什么性能好的反而讨论的比较少呢?我猜测的原因在于,第一个Client出来的比较早,网上资料也比较多。有些人就没有到memched网站看client api直接使用google之类的搜索引擎搜索到第一个client就是用。

目前没有这两个client的对比数据,有没有做了,拿出来共享一下?


4 楼 ferreousbox 2008-01-14 我们现在使用的也是com.danga.memcached 这个,那时候官方网上的第二个还没出来吧,呵呵~~至于两者的比较,没有试过,有机会试一下.不过对于从缓存中取数据异步应该是不行的,存入倒是可以提高一下速度,呵.另外,至于简单嘛,我倒觉得都是比较简单的API,而且我们自己封装一次后,提供的API更加方便和简洁 5 楼 andyao 2008-01-14 引用楼主看看这句话:
This is a simple, asynchronous, single-threaded memcached client written in java.就明白了

明白了。主要是同步,异步和多线程方面的区别。 6 楼 linwenbin 2008-01-22 是啊,对memcached 的再次封装可以很方便的使用 7 楼 freeway2000 2008-03-15 http://www.whalin.com/memcached/现在好像出了新版本了,性能不比第二个差。
我在使用net.spy.memcached有时候会出现异常。感觉不太稳定。 8 楼 aaronjiu_00 2008-04-02 有时间好好研究一下的说~ 9 楼 imcaptor 2008-08-29 两种我都用了,效率差不多,0-3毫秒 10 楼 yu2000chang 2008-08-30 最好有一些第二个的应用实例 什么的拿出来分享就太好了 11 楼 xly_971223 2008-10-31 ferreousbox 写道我们现在使用的也是com.danga.memcached 这个,那时候官方网上的第二个还没出来吧,呵呵~~至于两者的比较,没有试过,有机会试一下.不过对于从缓存中取数据异步应该是不行的,存入倒是可以提高一下速度,呵.另外,至于简单嘛,我倒觉得都是比较简单的API,而且我们自己封装一次后,提供的API更加方便和简洁

异步怎么就不行了,缓存的东西本来就靠不住,个人认为异步读取也无所谓

读书人网 >软件架构设计

热点推荐