转自http://www.iteye.com/topic/343161
xmemcached
发布1.0-beta
,从0.60直接到1.0-beta,主要改进如下:
1、支持更多协议,在已有协议支持的基础上添加了append、prepend、gets、批量gets、cas协议的支持,具体请查看XMemcachedClient类的实例方法。重点是cas操作。
2、memcached分布支持,支持连接多个memcached server,支持简单的余数分布和一致性哈希分布。
3、0.60版本以来的bug修复。
更多信息参考这里
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目录下即可使用。
使用:
Java代码
<embed type="application/x-shockwave-flash" width="14" height="15" src="/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=%20import%20net.rubyeye.xmemcached.XMemcachedClient%3B%0A%20%20%20......%0A%20%20%20......%0A%20%20%20%2F%2FXMemcachedClient%E6%98%AF%E7%BA%BF%E7%A8%8B%E5%AE%89%E5%85%A8%E7%9A%84%EF%BC%8C%E5%8F%AF%E4%BB%A5%E8%A2%AB%E5%A4%9A%E7%BA%BF%E7%A8%8B%E4%BD%BF%E7%94%A8%0A%20%20%20XMemcachedClient%20client%3D%20new%20XMemcachedClient(ip%2C%20port)%3B%0A%20%20%20%2F%2F%E5%AD%98%E5%82%A8%E6%93%8D%E4%BD%9C%0A%20%20%20if%20(!client.set(%22hello%22%2C%200%2C%20%22dennis%22))%7B%0A%20%20%20%20%20%20%20%20System.err.println(%22set%20error%22)%3B%0A%20%20%20%7D%0A%20%20%20client.add(%22hello%22%2C%200%2C%20%22dennis%22)%3B%0A%20%20%20client.replace(%22hello%22%2C%200%2C%20%22dennis%22)%3B%0A%0A%20%20%20%2F%2Fget%E6%93%8D%E4%BD%9C%0A%20%20%20String%20name%3D(String)client.get(%22hello%22)%3B%0A%20%20%20%0A%20%20%20%2F%2F%E6%89%B9%E9%87%8F%E8%8E%B7%E5%8F%96%0A%20%20%20List%3CString%3E%20keys%3Dnew%20ArrayList%3CString%3E()%3B%0A%20%20%20keys.add(%22hello%22)%3B%0A%20%20%20keys.add(%22test%22)%3B%0A%20%20%20Map%3CString%2CObject%3E%20map%3Dclient.get(keys)%3B%0A%0A%20%20%20%2F%2Fdelete%E6%93%8D%E4%BD%9C%0A%20%20%20if%20(!client.delete(%22hello%22%2C1000))%7B%0A%20%20%20%20%20%20%20%20System.err.println(%22delete%20error%22)%3B%0A%20%20%20%7D%20%0A%0A%20%20%20%2F%2Fincr%2Cdecr%E6%93%8D%E4%BD%9C%0A%20%20%20client.incr(%22a%22%2C4)%3B%0A%20%20%20client.decr(%22a%22%2C4)%3B%0A%0A%20%20%20%2F%2F%E6%9F%A5%E7%9C%8Bmemcached%E7%89%88%E6%9C%AC%0A%20%20%20String%20version%3Dclient.version()%3B%0A%20%20%20%20%0A%20%20%20client.shutdown()%3B%0A%20%20%20" quality="high" allowscriptaccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
-
import
net.rubyeye.xmemcached.XMemcachedClient;
-
......
-
......
-
-
XMemcachedClient client= new
XMemcachedClient(ip, port);
-
-
if
(!client.set(
"hello"
,
0
,
"dennis"
)){
-
System.err.println("set error"
);
-
}
-
client.add("hello"
,
0
,
"dennis"
);
-
client.replace("hello"
,
0
,
"dennis"
);
-
-
-
String name=(String)client.get("hello"
);
-
-
-
List<String> keys=new
ArrayList<String>();
-
keys.add("hello"
);
-
keys.add("test"
);
-
Map<String,Object> map=client.get(keys);
-
-
-
if
(!client.delete(
"hello"
,
1000
)){
-
System.err.println("delete error"
);
-
}
-
-
-
client.incr("a"
,
4
);
-
client.decr("a"
,
4
);
-
-
-
String version=client.version();
-
-
client.shutdown();
-
测试所用类下载
分享到:
相关推荐
1. **Xmemcached简介** Xmemcached是基于原生Memcached协议实现的Java客户端,提供了异步非阻塞I/O,具有低延迟、高并发的特性。其核心设计目标是优化性能和稳定性,为Java开发者提供一个轻量级、高效的Memcached...
xmemcached-1.4.3.jar
xmemcached-1.2.6.2
xmemcached1.3.5源码-附带自己写的RMI调用它的JMX服务,使用RMI调用JMX服务的详细过程,完整的eclipse工程,直接导入即可用。还用一些运行截图,很有用。 自己写的例子,类名是BaseExample 和RMITest.
**1. 高性能** - **基于Java NIO**:XMemcached采用了Java NIO技术,相比传统的阻塞I/O模型具有更高的效率,尤其是在高并发场景下。传统阻塞I/O通常需要通过创建多个连接来形成连接池以提高性能,而Java NIO仅需维持...
xmemcached-1.2.4的官方源码。 xmemcached XMemcached is a high performance, easy to use blocking multithreaded memcached client in java. It's nio based (using my opensource nio framework :yanf4j), ...
- `xmemcached-1.3.3-sources.jar`包含了xmemcached的源代码,可以帮助开发者了解其内部实现机制,如连接管理、命令编码与解码、并发控制等,便于定制化开发和优化性能。 - `xmemcached-1.3.3-javadoc.jar`提供了...
需要xmemcached-1.2.5+spring-2.5.6 class="net.rubyeye.xmemcached.utils.XMemcachedClientFactoryBean" destroy-method="shutdown"> ${XMemcached_servers} <!-- server's weights --> ...
还在为找不到jar文件烦心吗,不用了到我空间来有你想要的,持续更新。。。 xmemcached-1.2.5.jar
xmemcached-1.4.2最新版,可用。memcached java客户端
xmemcached最新版本2.0.0.0
1. **高性能**:Xmemcached利用NIO技术,实现了非阻塞I/O,提高了并发处理能力,确保在高负载下也能保持良好的性能。 2. **全面API支持**:提供丰富的API接口,支持命令行操作,如set、get、delete等,同时支持批量...
手册中会详细介绍如何配置Spring XML文件以启用Xmemcached,以及如何在代码中使用Spring托管的Memcached客户端。 **5. 开发实例** 手册中的开发实例部分,通过具体的代码示例展示了如何使用Xmemcached进行缓存操作...
### xmemcached中文开发手册知识点解析 #### XMemcached简介 XMemcached是一款高效能的Java客户端库...通过本文的详细介绍,希望能帮助开发者更好地理解和运用XMemcached,进一步提升其开发的应用程序的性能和可靠性。
1. **高性能**:xmemcached采用了非阻塞I/O模型,能够充分利用多核处理器的性能,提供高并发下的低延迟访问。 2. **易用性**:提供简单直观的API,使得开发者可以快速上手,实现Memcached的增删查改操作。 3. **健壮...
1. **连接池管理**:xmemcached 支持连接池管理,允许多个客户端共享一组 Memcached 服务器连接,提高资源利用率和响应效率。 2. **命令编码与解码**:xmemcached 内部实现了高效的命令编码和解码机制,确保数据在...
xmemcached使用的jar,需要的可以下载
【Xmemcached/jedis Spring Demo】是一个整合了Xmemcached和jedis的Spring示例项目,旨在帮助开发者理解和学习如何在Spring框架中集成并使用这两种流行的NoSQL客户端库。Xmemcached是Java编写的高效、易用的...
xmemcached.chm帮助文档