<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      LLServer1.0及C#客戶端正式發布并開源

          LLServer是本人基于libevent和leveldb這兩個開源軟件,開發的輕量級數據存儲服務器軟件,借助libevent高效網絡接口實現對leveldb的訪問封裝。
         
          項目網址:http://code.google.com/p/llserver/
        使用環境:Linux
        作者:代震軍
        目前發布版本:1.0
       
        其支持http協議和memcached協議。也就是可以通過瀏覽器或現有的memcached客戶端來進行數據的CURD操作。
          下面簡單介紹一下如何安裝使用LLServer。   
       
          LLServer 編譯安裝:
          1.安裝libevent2.0
      ulimit -SHn 65535
      wget http://lnamp-web-server.googlecode.com/files/libevent-2.0.12-stable.tar.gz
      tar zxvf libevent-2.0.12-stable.tar.gz
      cd libevent-2.0.12-stable/
      ./configure --prefix=/usr
      make && make install
      cd ../

          2.通過svn:客戶端下載leveldb到本地leveldb文件夾,鏈接:http://leveldb.googlecode.com/svn/trunk/     
          或暫時用我這個打好包的地址下載:
              wget http://llserver.googlecode.com/files/leveldb.tar.gz
              tar zxvf leveldb.tar.gz
          之后編譯安裝  
      cd leveldb/    
      make -f Makefile   
      cp libleveldb.a /usr/local/lib/
      cp -rf include/* /usr/local/include/
      cd ../
          
          3.LLServer下載地址
      wget http://llserver.googlecode.com/files/llserver-1.0.tar.gz
      tar zxvf llserver-1.0.tar.gz
      cd llserver/
      make -f Makefile
      make install
      cd ../
       
          4、LLServer 使用文檔:
         [root@~]# llserver -h
          -l <ip_addr> 監聽的IP地址,默認值為 0.0.0.0
          -p <num> 監聽的TCP端口(默認值:11211)
          -x <path> 數據庫目錄,目錄不存在會自動創建(例如:/llserver/data)
          -c 數據緩存隊列單位,默認為100m
          -t <second> HTTP請求的超時時間
          -s 1:http協議  other:memcached協議
          -d 以守護進程運行
          -h 顯示幫助

         

         使用示例:

      llserver -l 127.0.0.1 -p 11211  -d -s 1 -x /llserver/db0

           
        HTTP GET 協議(以curl命令為例):

      curl "http://127.0.0.1:11211/?opt=set&charset=utf-8&key=username&value=daizhj"
      curl "http://127.0.0.1:11211/?opt=set
      &charset=utf-8&key=username&value=daizhj&exptime=(unix時間戳,設置有效期)"

        
         HTTP POST 協議(以curl命令為例):

      curl -d "daizhj" "http://127.0.0.1:11211/?opt=set&charset=utf-8&key=username"


         
         打開瀏覽器:  
         如果set成功,返回:LLServer_SET_OK
        
        如果set失敗,返回:LLServer_SET_ERROR
        
        
        獲取數據:
        HTTP GET 協議(以curl命令為例):
         curl "http://127.0.0.1:11211/?opt=get&charset=utf-8&key=username"
         打開瀏覽器:
         如果get成功,返回相應數據信息
        
        如果get失敗,返回:LLServer_GETKEY_ERROR
       
        
        刪除數據:
        HTTP GET 協議(以curl命令為例):
         curl "http://127.0.0.1:11211/?opt=delete&key=username"
         打開瀏覽器:
         如果delete成功,返回:LLServer_DELETE_OK
       
        如果delete失敗,返回:LLServer_DELETE_ERROR
        
        刪除全部數據:
        HTTP GET 協議(以curl命令為例):
         curl "http://127.0.0.1:11211/?opt=deleteall&key=username"
         打開瀏覽器:
          如果delete成功,返回:LLServer_DELETEALL_OK
        如果delete失敗,返回:LLServer_DELETEALL_ERROR
           
        
        使用telnet鏈接示例(基于memcached協議):

      llserver -l 10.0.4.188 -p 11211  -d -s 2 -x /llserver/db1

         set操作:
           client =>  set username 0 0 6
                      daizhj     
           llserver=> STORED
           
         get操作:
           client=>   get username
           llserver=> daizhj
           
         delete操作:
           client=>   delete username
           llserver=> DELETED
           
         quit:
           client=>   quit
           llserver=> close client_fd
           
         version:
           client=>  version
           llserver=>1.0
           
        
           
           
         客戶端 C#源碼包:
           
         1.這里將Discuz!NT使用的memcached 客戶端(已修改過部分代碼),大家可以使用它(支持鏈接池)來直接訪問LLServer,相應的示例在壓縮包的MemcachedApp\MemcachedApp\sample\sample_1.aspx中。
           下載地址:https://files.cnblogs.com/daizhj/MemcachedApp_llserver.rar

         2.當然也可以使用c#的httpwebrequest來直接訪問,比如(代碼源自discuz!nt):

      namespace Discuz.Common
      {
          
      /// <summary>
          
      /// http POST請求url
          
      /// </summary>
          
      /// <param name="url">請求的url鏈接</param>
          
      /// <param name="method">方法名稱,如"POST", "GET"</param>
          
      /// <param name="postData">方法名稱為"POST"時,所有提交的數據</param>
          
      /// <returns></returns>
         public static string GetHttpWebResponse(string url, string method, string postData)
         {
             HttpWebRequest request 
      = (HttpWebRequest)HttpWebRequest.Create(url);
             request.Method 
      = method;
             request.ContentType 
      = "application/x-www-form-urlencoded";
             request.ContentLength 
      = string.IsNullOrEmpty(postData) ? 0 : postData.Length;
             
      //request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
             request.Timeout = 60000;
             HttpWebResponse response 
      = null;

             
      try
             {
                 
      if (!string.IsNullOrEmpty(postData))
                 {
                     StreamWriter swRequestWriter 
      = new StreamWriter(request.GetRequestStream());
                     swRequestWriter.Write(postData);

                     
      if (swRequestWriter != null)
                         swRequestWriter.Close();
                 }

                 response 
      = (HttpWebResponse)request.GetResponse();
                 
      using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
                 {
                     
      return reader.ReadToEnd();
                 }
             }
             
      catch
             {
                 
      return null;
             }
             
      finally
             {
                 
      if (response != null)
                     response.Close();
             }
         }
       
         
      //這里發送請求并返回數據      
         string result = GetHttpWebResponse("http://127.0.0.1:11211/?opt=get&charset=utf-8&key=username""GET"null);


          
         當然你可也以用其它語言的memcached客戶端來訪問LLServer,不過有一點要說明的是,目前llserver只存儲序列化的字符串對象,如果你的數據為泛型或數組等類型,請先序列化之后再進行存儲。  
         還有就是在c#里可以對數據進行二進制序列化,這里必須將序列化后的對象進行base64位編碼之后再存儲,否則會報異常,切記。  

        http://blog.nosqlfan.com/html/2819.html  LevelDB、TreeDB、SQLite3性能對比測試
        http://blog.nosqlfan.com/html/2882.html  LevelDB內部實現

        好了,大家下載體驗一下吧,操作數據速度飛快呀。  

       

         原文鏈接:http://www.rzrgm.cn/daizhj/archive/2011/08/23/2150422.html
         作者: daizhj, 代震軍   
         微博: http://weibo.com/daizhj
         Tags: libevent,leveldb,llserver,key/value db
        

       

       


          
       

       

      posted @ 2011-08-23 13:20  代震軍  閱讀(7675)  評論(17)    收藏  舉報
      主站蜘蛛池模板: 国产良妇出轨视频在线观看| 少妇人妻偷人精品免费| 免费无码肉片在线观看| 2020久久香蕉国产线看观看| 国产精品七七在线播放| 亚洲国产色一区二区三区| 91精品国产免费人成网站| 国产一区二区av天堂热| 久热这里只有精品在线观看 | 久久亚洲色www成人| 午夜色无码大片在线观看免费| 日产国产一区二区不卡| 亚洲国产一区二区三区| 中文字幕av一区二区三区 | 免费黄色大全一区二区三区| 二区三区亚洲精品国产| 人人妻人人澡人人爽| 久久亚洲中文字幕伊人久久大 | 亚洲大尺度一区二区三区| 大战丰满无码人妻50p| 深夜释放自己在线观看| 豆国产97在线 | 亚洲| 亚洲成人av综合一区| 欧美日本激情| 国产激情一区二区三区在线 | 永久免费av网站可以直接看的| 亚洲乱妇熟女爽到高潮的片| 亚洲国产精品成人av网| 午夜福利国产片在线视频| 国产v亚洲v天堂a无码99 | 惠安县| 开心久久综合激情五月天| 国产美女被遭强高潮免费一视频| 定日县| 国产揄拍国产精品| 精品一区二区免费不卡| 大桥未久亚洲无av码在线| 熟女在线视频一区二区三区| 国产精品久久国产精麻豆99网站| 精品久久久久国产免费| 国产在线观看网址不卡一区|