memcache的客户端

Memcached的java客户端已经存在三个了:官方提供的基于传统阻塞io的客户端 、Dustin Sallings实现的基于java nio的spymemcachedXMemcached

memcache常用Java客户端有三个:
1、memcached client for Java  
2、spymemcached 
3、xmemcached
xmemcached 上述三者中最优秀的。

官网:https://github.com/killme2008/xmemcached/releases

XMemcached的主要特性
高性能
XMemcached同样是基于java nio的客户端,java nio相比于传统阻塞io模型来说,有效率高(特别在高并发下)和资源耗费相对较少的优点。传统阻塞IO为了提高效率,需要创建一定数量的连接形成连接池,而nio仅需要一个连接即可(当然,nio也是可以做池化处理),相对来说减少了线程创建和切换的开销,这一点在高并发下特别明显。因此XMemcached与Spymemcached在性能都非常优秀,在某些方面(存储的数据比较小的情况下)Xmemcached比Spymemcached的表现更为优秀

支持完整的协议
Xmemcached支持所有的memcached协议,包括1.4.0正式开始使用的 二进制协议 。

支持客户端分布

Memcached的分布只能通过客户端来实现,XMemcached实现了此功能,并且提供了一致性哈希(consistent hash)算法的实现。

允许设置节点权重

XMemcached允许通过设置节点的权重来调节memcached的负载,设置的权重越高,该memcached节点存储的数据将越多,所承受的负载越大。

动态增删节点

XMemcached允许通过JMX或者代码编程实现节点的动态添加或者移除,方便用户扩展和替换节点等。

支持JMX

XMemcached通过JMX暴露的一些接口,支持client本身的监控和调整,允许动态设置调优参数、查看统计数据、动态增删节点等。

猜你喜欢

转载自liuna718-163-com.iteye.com/blog/2353524