现在的位置: 首页 > 数据库 > 正文

XMemcached有什么特点?XMemcached在哪些方面还需要改进

2020年06月30日 数据库 ⁄ 共 1238字 ⁄ 字号 评论关闭

  XMemcached是一个基于Javanio的memcached客户端。它线程安全,结构简单,支持所有的memcached文本协议和二进制协议,并且有比较优异的性能表现。它还支持一些高级特性,如JMX、动态增删节点、客户端统计以及nio连接池等。下面学步园小编来讲解下XMemcached有什么特点?XMemcached在哪些方面还需要改进?

  XMemcached有什么特点

  与同是基于javanio的spymemcached相比来说,XMemcached具有以下特点:

  1)API模型是同步,异步的API使用比较繁琐,在memcached协议加入noreply后,异步模型的存在价值就更可疑了;

  2)支持设置memcached的节点权重;

  3)支持动态增删节点,可以通过编程或者JMX;

  4)支持nio连接池,并且允许让用户对网络层面有更多的控制,提供更多的性能优化选项;

  5)支持客户端数据统计;

  6)支持Kestrel,Kestrel是一个scala编写的MQserver。

  XMemcached在哪些方面还需要改进

  XMemcached需要改进的地方有两个:文档和二进制协议的实现。文档很不完善,因为精力有限,我希望能补上更完善的用户指南。其次是二进制协议的实现,在效率上还有可以提高的地方。

  另外,在*nix系统上,对于同一台主机的应用和memcached,使用unixdomainsocket可以进一步提高效率,这也是XMemcached准备探索的一个方向。由于Java不支持unixdomainsocket,可能需要通过JNI来实现。

  在和人间网创始人兼CTO曹晓钢的沟通中,他谈到人间网不仅使用XMemcached连接到memcached服务器,也使用它连接到kestrel服务器,很稳定的支持了网站的需求。在选用Xmemcached之前,曹晓钢对几个类似的工具进行了评估:

  主要的备选还有spymemcached和岑文初的memcache-client-forjava。开始的时候,我们选用的是spymemcached。他的问题在于因为使用异步模型,使用比较繁琐,代码量比较大;看过memcache-client-forjava的代码,觉得其中夹杂了一些不应该由memcachedclient实现的功能,例如客户端缓存,比较担心其会带来一些潜在的问题。

  选中XMemcached的另外一个原因是其经过了仔细的性能调试。当然最根本的一个原因是,当我们和开发者接触后,开发者的支持很到位,反应迅速,代码质量也很高。经过实际的验证,最终我们选定了XMemcached。

  有关Xmemcached项目的更多信息请浏览GoogleCode上的项目主页和wiki。

  以上就是关于“XMemcached有什么特点?XMemcached在哪些方面还需要改进”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!

抱歉!评论已关闭.