`

XMemcached介绍(发布1.10-RC1)

阅读更多

转自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>
  1. import  net.rubyeye.xmemcached.XMemcachedClient;  
  2.   ......  
  3.   ......  
  4.   //XMemcachedClient是线程安全的,可以被多线程使用   
  5.   XMemcachedClient client= new  XMemcachedClient(ip, port);  
  6.   //存储操作   
  7.   if  (!client.set( "hello" 0 "dennis" )){  
  8.        System.err.println("set error" );  
  9.   }  
  10.   client.add("hello" 0 "dennis" );  
  11.   client.replace("hello" 0 "dennis" );  
  12.   
  13.   //get操作   
  14.   String name=(String)client.get("hello" );  
  15.     
  16.   //批量获取   
  17.   List<String> keys=new  ArrayList<String>();  
  18.   keys.add("hello" );  
  19.   keys.add("test" );  
  20.   Map<String,Object> map=client.get(keys);  
  21.   
  22.   //delete操作   
  23.   if  (!client.delete( "hello" , 1000 )){  
  24.        System.err.println("delete error" );  
  25.   }   
  26.   
  27.   //incr,decr操作   
  28.   client.incr("a" , 4 );  
  29.   client.decr("a" , 4 );  
  30.   
  31.   //查看memcached版本   
  32.   String version=client.version();  
  33.      
  34.   client.shutdown();  
  35.     
 

 

 


    测试所用类下载

分享到:
评论

相关推荐

    Xmemcached用户指南 后端 - Java.zip

    1. **Xmemcached简介** Xmemcached是基于原生Memcached协议实现的Java客户端,提供了异步非阻塞I/O,具有低延迟、高并发的特性。其核心设计目标是优化性能和稳定性,为Java开发者提供一个轻量级、高效的Memcached...

    xmemcached-1.4.3.jar

    xmemcached-1.4.3.jar

    xmemcached-1.2.6.2

    xmemcached-1.2.6.2

    xmemcached1.3.5源码-附带自己写的RMI调用它的JMX服务

    xmemcached1.3.5源码-附带自己写的RMI调用它的JMX服务,使用RMI调用JMX服务的详细过程,完整的eclipse工程,直接导入即可用。还用一些运行截图,很有用。 自己写的例子,类名是BaseExample 和RMITest.

    Xmemcached用户指南

    **1. 高性能** - **基于Java NIO**:XMemcached采用了Java NIO技术,相比传统的阻塞I/O模型具有更高的效率,尤其是在高并发场景下。传统阻塞I/O通常需要通过创建多个连接来形成连接池以提高性能,而Java NIO仅需维持...

    xmemcached-1.2.4源码

    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 jar包,源文件,api

    - `xmemcached-1.3.3-sources.jar`包含了xmemcached的源代码,可以帮助开发者了解其内部实现机制,如连接管理、命令编码与解码、并发控制等,便于定制化开发和优化性能。 - `xmemcached-1.3.3-javadoc.jar`提供了...

    spring-xmemcached

    需要xmemcached-1.2.5+spring-2.5.6 class="net.rubyeye.xmemcached.utils.XMemcachedClientFactoryBean" destroy-method="shutdown"&gt; ${XMemcached_servers} &lt;!-- server's weights --&gt; ...

    xmemcached-1.2.5.jar

    还在为找不到jar文件烦心吗,不用了到我空间来有你想要的,持续更新。。。 xmemcached-1.2.5.jar

    xmemcached-1.4.2

    xmemcached-1.4.2最新版,可用。memcached java客户端

    xmemcached-2.0.0

    xmemcached最新版本2.0.0.0

    xmemcached

    1. **高性能**:Xmemcached利用NIO技术,实现了非阻塞I/O,提高了并发处理能力,确保在高负载下也能保持良好的性能。 2. **全面API支持**:提供丰富的API接口,支持命令行操作,如set、get、delete等,同时支持批量...

    Xmemcached官方中文手册

    手册中会详细介绍如何配置Spring XML文件以启用Xmemcached,以及如何在代码中使用Spring托管的Memcached客户端。 **5. 开发实例** 手册中的开发实例部分,通过具体的代码示例展示了如何使用Xmemcached进行缓存操作...

    xmemcached 中文开发手册

    ### xmemcached中文开发手册知识点解析 #### XMemcached简介 XMemcached是一款高效能的Java客户端库...通过本文的详细介绍,希望能帮助开发者更好地理解和运用XMemcached,进一步提升其开发的应用程序的性能和可靠性。

    xmemcached 2.4.6.rar

    1. **高性能**:xmemcached采用了非阻塞I/O模型,能够充分利用多核处理器的性能,提供高并发下的低延迟访问。 2. **易用性**:提供简单直观的API,使得开发者可以快速上手,实现Memcached的增删查改操作。 3. **健壮...

    xmemcached api doc

    1. **连接池管理**:xmemcached 支持连接池管理,允许多个客户端共享一组 Memcached 服务器连接,提高资源利用率和响应效率。 2. **命令编码与解码**:xmemcached 内部实现了高效的命令编码和解码机制,确保数据在...

    xmemcached.jar

    xmemcached使用的jar,需要的可以下载

    Xmemcached/jedis springdemo

    【Xmemcached/jedis Spring Demo】是一个整合了Xmemcached和jedis的Spring示例项目,旨在帮助开发者理解和学习如何在Spring框架中集成并使用这两种流行的NoSQL客户端库。Xmemcached是Java编写的高效、易用的...

    xmemcached.chm文档

    xmemcached.chm帮助文档

Global site tag (gtag.js) - Google Analytics