<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)
    主站蜘蛛池模板: 久久久久久噜噜精品免费直播| 午夜亚洲国产精品福利| 日本人成在线视频免费播放| 亚洲精品资源在线| 国产成人亚洲综合一区| h视频在线观看免费| 国产小视频在线观看免费| 亚洲精品久久无码av片俺去也| 韩国二级毛片免费播放| 国产亚洲综合一区二区三区| 国产又大又粗又硬又长免费| 羞羞视频免费网站日本| 亚洲无码在线播放| 午夜免费福利小电影| 亚洲色偷偷偷网站色偷一区| 国产精品久久久久久久久久免费| 亚洲另类无码专区首页| 亚洲国产成人精品91久久久| a免费毛片在线播放| 久久国产亚洲观看| 免费99精品国产自在现线| 亚洲中文字幕无码一区| 免费A级毛片无码A∨中文字幕下载| 97亚洲熟妇自偷自拍另类图片| 亚洲免费在线视频播放| 亚洲AV成人精品一区二区三区| 亚洲一区日韩高清中文字幕亚洲 | 67194国产精品免费观看| 亚洲国产精品网站久久| 国产精品免费小视频| 中文字幕一区二区三区免费视频| 亚洲综合在线视频| 大学生美女毛片免费视频| 久青草国产免费观看| 久久亚洲AV无码精品色午夜麻| 无限动漫网在线观看免费| 人体大胆做受免费视频| 91亚洲精品视频| 免费看小12萝裸体视频国产| 国产免费AV片在线观看| 久久精品国产亚洲av瑜伽|