`

XMemcached介绍(发布1.10-RC1)

阅读更多

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目录下即可使用。

 

使用:

 

 import net.rubyeye.xmemcached.XMemcachedClient;
   ......
   ......
   //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");

   //get操作
   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);

   //delete操作
   if (!client.delete("hello",1000)){
        System.err.println("delete error");
   } 

   //incr,decr操作
   client.incr("a",4);
   client.decr("a",4);

   //查看memcached版本
   String version=client.version();
    
   client.shutdown();
   
 

 

 


    测试所用类下载

 

分享到:
评论
2 楼 bachmozart 2009-03-04  
对yanf4j很感兴趣

Reactor 好像就是cindy的那个

我记得cindy里就是Reactor单线程处理注册事件,dispatcher事件,外部通过将感兴趣的事件加到Reactor的interestQueue里,由Reactor在beforeSelect时读取并注册,感兴趣的事件被触发交给另一个线程处理(filterChain)

也就是说cindy是1个dispatcher线程,1个workers线程,workers可以自己扩展(加个线程池什么的),说的不对的地方还请指出

我想问下yanf4j的线程模型,呵呵,这样看代码时能快点,o(∩_∩)o...



1 楼 javatracker 2009-03-04  
下来看看 学习下

相关推荐

    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