<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    xmemcached發布1.0版本

    Posted on 2009-03-13 22:07 dennis 閱讀(1885) 評論(2)  編輯  收藏 所屬分類: javamy open-source
        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返回結果需要設置成原子引用、更嚴格的方法參數檢查、提示信息的友好、日志的優化、操作超時的時候取消操作等,重構部分代碼

    5、提供了javadoc文檔,這里下載。



    評論

    # re: xmemcached發布1.0版本  回復  更多評論   

    2009-03-14 11:30 by it
    不錯。。。。。。。

    # re: xmemcached發布1.0版本  回復  更多評論   

    2009-04-12 01:23 by risk
    有問題請教博主,我重新用jdk1.5 編譯后,不把成jar包,能正常運行,但一打成jar包后,就出現下面這個錯誤:
    Exception in thread "main" java.lang.NoSuchMethodError: net.spy.memcached.transcoders.Transcoder.encode(Ljava/lang/Object;)Lnet/spy/memcached/transcoders/CachedData;
    at net.rubyeye.xmemcached.XMemcachedClient.sendStoreCommand(XMemcachedClient.java:759)
    at net.rubyeye.xmemcached.XMemcachedClient.set(XMemcachedClient.java:490)
    at org.ce.fast.test.XMemcachedClientTest.main(XMemcachedClientTest.java:17)
    主站蜘蛛池模板: 一区二区三区免费视频观看| 亚洲中文字幕久久久一区| 免费看一级毛片在线观看精品视频| 91麻豆最新在线人成免费观看| 亚洲视频一区二区在线观看| 91免费人成网站在线观看18| 亚洲老熟女@TubeumTV| 成人黄色免费网址| 亚洲色最新高清av网站| 日韩一级免费视频| 青青草国产免费国产是公开 | 亚洲第一二三四区| 18禁美女裸体免费网站| 亚洲av乱码一区二区三区香蕉| 黄色成人网站免费无码av| 亚洲a∨无码精品色午夜| 亚洲国产精品无码久久青草 | 亚洲伊人久久大香线蕉综合图片 | 无遮免费网站在线入口| 亚洲国产乱码最新视频| 国产一区在线观看免费| GOGOGO免费观看国语| 亚洲国产香蕉碰碰人人| 毛片基地免费观看| 深夜福利在线视频免费| 亚洲AV人无码综合在线观看| 中国在线观看免费国语版| 国产成人亚洲精品无码AV大片| 中文字幕不卡亚洲| xxxxx免费视频| 黄页网址大全免费观看12网站| 亚洲日韩精品无码专区网址| 曰批视频免费30分钟成人| 国产精品自拍亚洲| 久久夜色精品国产亚洲AV动态图| 人禽杂交18禁网站免费| 本道天堂成在人线av无码免费| 亚洲福利电影在线观看| 亚洲精品久久久www| 国产精品成人观看视频免费| 污视频网站免费在线观看|