xmemcached发布1.0版本

简介:
xmemcached发布1.0稳定版,下载地址 这里
    相比于1.0-beta版本,这个released版本的主要改进如下:
1、xmemcached跟yanf4j都是默认采用common-logging,你可以使用log4j,也可以默认使用jdk的日志库。1.0添加了log4j的配置和依赖包。log4j的性能比jdk自带的日志库性能好多了。

2、添加了BufferAllocator接口,用于分配ByteBufferWrapper,ByteBufferWrapper顾名思义就是ByteBuffer的包装接口,因此BufferAllocator就是ByteBuffer的分配器,有两个实现:SimpleBufferAllocator,直接调用ByteBuffer.allocate(capacity)方法,不做任何缓存;一个是CachedBufferAllocator,采用ThreadLocal缓存ByteBuffer,避免重复创建,如果你对mina熟悉的话,这个概念没什么特别的。默认xmemcached采用的是SimpleBufferAllocator,你可以通过XMemcachedClient的构造方法设置想要采用的BufferAllocator:

public  XMemcachedClient(BufferAllocator allocator)  throws  IOException;
// 其他重载构造函数


    经过测试,采用CachedBufferAllocator并没有带来显著的性能提升,需要更多测试,慎用。

3、允许设置网络参数,在多个memcached节点的情况下,强烈推荐将网络层的读线程数(处理OP_READ)设置为接近节点数(具体还是要看场景测试,因为读线程数本质上是启动了一个线程池来处理读事件,太大也会影响效率):
    // XMemcachedClient的getDefaultConfiguration静态方法,获取默认配置
     public   static  Configuration getDefaultConfiguration() {
        Configuration configuration 
=   new  Configuration();
        configuration.setTcpRecvBufferSize(TCP_RECV_BUFF_SIZE);
        configuration.setSessionReadBufferSize(READ_BUFF_SIZE);
        configuration.setTcpNoDelay(TCP_NO_DELAY);
        configuration.setReadThreadCount(READ_THREAD_COUNT);
        
return  configuration;
    }

    使用方法:
 Configuration conf = XMemcachedClient.getDefaultConfiguration();
  // 设置读线程数为节点数,更多设置方法请参见Configuration类                       
 conf.setReadThreadCount(5);

 XMemcachedClient mc  =   new  XMemcachedClient(
                    conf,
new  CachedBufferAllocator());
 mc.addServer(ip1, port1);
 mc.addServer(ip2, port2);
 mc.addServer(ip3,port3);
 mc.addServer(ip4,port4);
 mc.addServer(ip5,port5);



4、修复一系列发现的bug,如Command返回结果需要设置成原子引用、更严格的方法参数检查、提示信息的友好、日志的优化、操作超时的时候取消操作等,重构部分代码

文章转自庄周梦蝶  ,原文发布时间2009-03-13

目录
相关文章
|
Java 程序员 Maven
应用升级SpringCloud版本时的注意事项(Dalston升级到Edgware)
官方文档和demo是最可靠的信息来源,涉及到升级操作时,最好把关键项列出来,去官方文档中确认一下
218 0
应用升级SpringCloud版本时的注意事项(Dalston升级到Edgware)
|
Oracle Java 关系型数据库
Java 近期新闻:JDK 18 GA、JMC 8.2、Spring 升级、MicroStream 7.0-Beta1、WildFly 26.1-Beta1
本期 Java 新闻综述内容主要涉及 JDK 18、JDK 19、JDK Mission Control 8.2、Amazon Corretto 18、BellSoft LibericaJDK 18、多个 Spring 里程碑版本及点版本、Micronaut 3.4.0、GraalVM Native Build Tools 0.9.11、WildFly 26 Beta 1、Hibernate Reactive 1.1.4.Final、MicroStream 7.0-M1、JReleaser 1.0-RC1 和 TornadoVM 0.13。
280 0
Java 近期新闻:JDK 18 GA、JMC 8.2、Spring 升级、MicroStream 7.0-Beta1、WildFly 26.1-Beta1
|
存储 Java 开发工具
|
算法 Java Maven
|
Java Spring Maven
|
算法 Java
|
存储 Java 测试技术