论坛首页 Java企业应用论坛

Memcached Java客户端2.6.1发布

浏览 6843 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-06-25   最后修改:2011-06-25

Memcached是被广泛使用的分布式缓存技术。不同的语言有不同的Memcached客户端程序,对于Java客户端来说,首推Memcached Java Client(http://github.com/gwhalin/Memcached-Java-Client )。

这次,Memcached Java Client推出的2.6.1发布版是基于全新的performance分支,具有如下重大改进:

  1. 较之老版本,在性能上有300%左右的提升;
  2. 兼容老版本,用户无须修改自己的源代码;
  3. 支持多个memcached协议,包括text,udp和binary协议;
  4. 支持SASL认证机制;
  5. 重新实现的连接池,修复了之前的连接数太多所导致的OutOfMemory异常;
  6. 加入了slf4j logger支持,使得开发人员可以方便的记录日志;
  7. 支持自定义的对象序列化方法。

这个分支由Schooner Information Technology贡献,并由Schooner中国团队完成开发,开发者是:

  1. 王新根,new.root@gmail.com;
  2. 李蒙,jowett.lee@gmail.com,IT eye博客地址是:http://menglee.iteye.com

可以从这里下载二进制包:https://github.com/gwhalin/Memcached-Java-Client/downloads

源代码在github上,http://github.com/gwhalin/Memcached-Java-Client ,然后选择performance分支。

下面是一些性能测试的数据,包括了当前流行的Memcached Java Client。其中,schooner指的是这个分支的text protocol, schooner_bin指的是binary protocol。





 

  • 大小: 48.1 KB
  • 大小: 48.1 KB
  • 大小: 52.7 KB
  • 大小: 49.5 KB
   发表时间:2011-06-26  
看到楼主头像想到韩寒····
直接拿你的客户端测试下负载均衡中session情况试试
0 请登录后投票
   发表时间:2011-06-26  
hxhnarkissos 写道
看到楼主头像想到韩寒····
直接拿你的客户端测试下负载均衡中session情况试试

欢迎试用!
0 请登录后投票
   发表时间:2011-06-27  
用了这个 Memcached Java Client 不错的 效率是越来越高了
0 请登录后投票
   发表时间:2011-06-30  
2.6.1版的MemCachedClient删除了2.5.1的所有deprecated方法,
其中setCompressEnable和setCompressThreshold方法是实现数据压缩的设置,删除了这两个方法,是自动实现压缩设置了吗?
0 请登录后投票
   发表时间:2011-07-01  
支持ttserver这一类非标准的memcached协议不?
0 请登录后投票
   发表时间:2011-07-01  
agapple 写道
支持ttserver这一类非标准的memcached协议不?

支持tokyo tyrant,ttserver没测试过。
0 请登录后投票
   发表时间:2011-07-01  
ypf3027 写道
2.6.1版的MemCachedClient删除了2.5.1的所有deprecated方法,
其中setCompressEnable和setCompressThreshold方法是实现数据压缩的设置,删除了这两个方法,是自动实现压缩设置了吗?

我们在2.6.1中不建议用户使用数据压缩,因为我们对客户端进行了特殊优化,不进行数据压缩反而可以获取更好的性能。因此我们在新版本中没有实现数据压缩方法。

具体可以参见这个兼容性报告:https://github.com/gwhalin/Memcached-Java-Client/wiki/COMPATIBILITY
0 请登录后投票
   发表时间:2011-07-02  
楼主能否具体介绍一下都哪些地方做了改进(原因),传递一下IO方面的知识吧。THX
0 请登录后投票
   发表时间:2011-07-05  
昨天下载了使用一下,不过这种客户端很多,我不确定是不是你的。
是这个吗?com.danga.MemCached.MemCachedClient

里面使用了socket连接池,对吗?每次交互都单独使用一个连接,我做了一下16个线程的并发压力测试,结果建立了16个服务器连接。
在小数据读写的时候,这样做效率不高。
每个服务器使用连接多了也没有用,毕竟网络带宽就那么多,如果你只使用一个,或者更少量连接,可以合并发送和接收数据。性能会有提高。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics