1、xmemcached是什么?
基于java nio实现的memcached客户端API。
实际上是基于我实现的一个简单nio框架 http://code.google.com/p/yanf4j/ 的基础上实现的(目前是基于yanf4j 0.54),序列化机制直接挪用spymemcached的Transcoder。
性能方面与spymemcached相比各有优势,spymemcached在windows和linux两个平台上的效率差异很大(特别是容器类 大对象的读写上),而xmemcached就没有这个问题,如果你的get操作远远多于存储操作,那么xmemcached对于get的优化在并发下的效 果更加明显。
当前1.0-beta版本,支持memcached的分布式(余数哈希和一致性哈希算法)。目前已经支持get、set、add、replace、 cas、 append、prepend、批量get/gets、delete、incr、decr、version这几个协议。API为阻塞模型,而非 spymemcached的异步模型,异步模型在批处理的时候有优势,但是阻塞模型在编程难度和使用上会容易很多。
后续计划:
1.0 正式稳定版
1.1 着重性能优化
2、为什么叫xmemcached?
因为我在厦门(XM)混饭......
3、xmemcached的下载和使用
项目主页:http://code.google.com/p/xmemcached/
下载地址:http://code.google.com/p/xmemcached/downloads/list
wiki地址:http://code.google.com/p/xmemcached/w/list
下载的压缩包中包括了依赖库、源码和打包后的jar,放到项目的lib目录下即可使用。
使用:
xmemcached与spymemcached的对比 :
1、xmemcached比spymemcached有更好的性能表现,在get、set、delete、multi-gets等操作的测试中都远远超过或者接近spymemcached。
xmemcached在win32和linux两个平台上都有极佳的性能表现。
2、xmemcached支持动态地添加或者移除memcached server,可以通过编程或者JMX来做到。
3、xmemcached支持JMX,可以通过jmx调整性能参数、添加/移除memcached节点、查看统计
4、xmemcached有客户端统计,可以统计xmemcached客户端的各种操作的总次数
5、xmemcached允许调整更多的网络层参数和优化选项.
6、xmemcached暂未支持二进制协议,计划在1.2版本中实现。
7、xmemcached的API模型是同步的,而spymemcached的API模型是异步模型,同步模型对应用编程来说更容易使用和直观。
8、xmemcached的序列化机制,是使用了spymemcached的序列化机制,并做了部分改造。
项目主页:http://code.google.com/p/xmemcached/
Java memcached 客户端——XMemcached 发布1.2.5版本,这是1.2的最后一个小版本,主要的改进如下:
1、合并yanf4j到xmemcached,目前只是简单的源码合并,以及去除了不需要的udp支持。因此从1.2.5开始,xmemcached 不再依赖yanf4j,仅依赖slf4j 。
2、支持SASL验证。memcached 1.4.3新增了SASL授权特性,启用了SASL的memcached会要求客户端进行授权验证,否则将拒绝请求,对于需要验证的用户来说是个可选的特性,关于memcached的SASL支持更多请看这里 。Xmemcached 1.2.5开始支持客户端的SASL验证,一个典型的使用例子如下:
3、加快MemcachedClient.shutdown()方法的速度,应用可以更快地关闭xmemcached。
4、完善中文用户指南 ,添加客户端分布和SASL验证两节。
更多信息请参见wiki和changelog
XMemcached是一个基于java nio的memcached 客户端
项目主页: http://code.google.com/p/xmemcached/