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

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

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

    Dict.CN 在線詞典, 英語學習, 在線翻譯

    都市淘沙者

    荔枝FM Everyone can be host

    統計

    留言簿(23)

    積分與排名

    優秀學習網站

    友情連接

    閱讀排行榜

    評論排行榜

    分布式緩存系統Memcached簡介與實踐(轉)

     

    緣起: 在數據驅動的web開發中,經常要重復從數據庫中取出相同的數據,這種重復極大的增加了數據庫負載。緩存是解決這個問題的好辦法。但是ASP.NET中的雖然已經可以實現對頁面局部進行緩存,但還是不夠靈活。此時Memcached或許是你想要的。

    Memcached是什么?
    Memcached是由Danga Interactive開發的,高性能的,分布式的內存對象緩存系統,用于在動態應用中減少數據庫負載,提升訪問速度。

    Memcached能緩存什么?
    通過在內存里維護一個統一的巨大的hash表,Memcached能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。

    Memcached快么?

    非常快。Memcached使用了libevent(如果可以的話,在linux下使用epoll)來均衡任何數量的打開鏈接,使用非阻塞的網絡I/O,對內部對象實現引用計數(因此,針對多樣的客戶端,對象可以處在多樣的狀態), 使用自己的頁塊分配器和哈希表, 因此虛擬內存不會產生碎片并且虛擬內存分配的時間復雜度可以保證為O(1).。

    Danga Interactive為提升Danga Interactive的速度研發了Memcached。目前,LiveJournal.com每天已經在向一百萬用戶提供多達兩千萬次的頁面訪問。而這些,是由一個由web服務器和數據庫服務器組成的集群完成的。Memcached幾乎完全放棄了任何數據都從數據庫讀取的方式,同時,它還縮短了用戶查看頁面的速度、更好的資源分配方式,以及Memcache失效時對數據庫的訪問速度。

    Memcached的特點
    Memcached的緩存是一種分布式的,可以讓不同主機上的多個用戶同時訪問, 因此解決了共享內存只能單機應用的局限,更不會出現使用數據庫做類似事情的時候,磁盤開銷和阻塞的發生。

    Memcached的使用
    Memcached服務器端的安裝 (此處將其作為系統服務安裝)
      下載文件:memcached 1.2.1 for Win32 binaries (Dec 23, 2006)
       1 解壓縮文件到c:\memcached
       2 命令行輸入 'c:\memcached\memcached.exe -d install' 
       3 命令行輸入 'c:\memcached\memcached.exe -d start' ,該命令啟動 Memcached ,默認監聽端口為 11211
      通過 memcached.exe -h 可以查看其幫助
    二   .NET memcached client library
       下載文件:https://sourceforge.net/projects/memcacheddotnet/

       里面有.net1.1  和 .net2.0的兩種版本  還有一個不錯的例子。

    三  應用

      1 將Commons.dll,ICSharpCode.SharpZipLib.dll,log4net.dll,Memcached.ClientLibrary.dll 等放到bin目錄
      2 引用
    Memcached.ClientLibrary.dll
      3 代碼

     1 namespace Memcached.MemcachedBench
     2 {
     3     using System;
     4     using System.Collections;
     5 
     6     using Memcached.ClientLibrary;
     7 
     8     public class MemcachedBench 
     9     {
    10         [STAThread]
    11         public static void Main(String[] args) 
    12         {
    13             string[] serverlist = { "10.0.0.131:11211""10.0.0.132:11211" };
    14 
    15             //初始化池
    16             SockIOPool pool = SockIOPool.GetInstance();
    17             pool.SetServers(serverlist);
    18 
    19             pool.InitConnections = 3;
    20             pool.MinConnections = 3;
    21             pool.MaxConnections = 5;
    22 
    23             pool.SocketConnectTimeout = 1000;
    24             pool.SocketTimeout = 3000;
    25 
    26             pool.MaintenanceSleep = 30;
    27             pool.Failover = true;
    28 
    29             pool.Nagle = false;
    30             pool.Initialize();
    31 
    32             // 獲得客戶端實例
    33             MemcachedClient mc = new MemcachedClient();
    34             mc.EnableCompression = false;
    35 
    36             Console.WriteLine("------------測  試-----------");
    37             mc.Set("test""my value");  //存儲數據到緩存服務器,這里將字符串"my value"緩存,key 是"test"
    38 
    39             if (mc.KeyExists("test"))   //測試緩存存在key為test的項目
    40             {
    41                 Console.WriteLine("test is Exists");
    42                 Console.WriteLine(mc.Get("test").ToString());  //在緩存中獲取key為test的項目
    43             }
    44             else
    45             {
    46                 Console.WriteLine("test not Exists");
    47             }
    48 
    49             Console.ReadLine();
    50 
    51             mc.Delete("test");  //移除緩存中key為test的項目
    52 
    53             if (mc.KeyExists("test"))
    54             {
    55                 Console.WriteLine("test is Exists");
    56                 Console.WriteLine(mc.Get("test").ToString());
    57             }
    58             else
    59             {
    60                 Console.WriteLine("test not Exists");
    61             }
    62             Console.ReadLine();
    63             
    64             SockIOPool.GetInstance().Shutdown();  //關閉池, 關閉sockets
    65         }
    66     }
    67 }
      4 運行結果

     

       

    posted on 2008-04-09 12:36 都市淘沙者 閱讀(116) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产成人亚洲合集青青草原精品| 亚洲中文字幕无码专区| 无码区日韩特区永久免费系列| 三年片在线观看免费| 丁香花在线视频观看免费 | 免费大黄网站在线看| 日韩一级在线播放免费观看| 国内自产拍自a免费毛片| 午夜成年女人毛片免费观看| 麻豆成人精品国产免费| 日本一区二区三区日本免费| 免费一级国产生活片| 亚洲精品tv久久久久| 亚洲性猛交XXXX| 五月天网站亚洲小说| 中文字幕亚洲精品| 亚洲精品伊人久久久久 | 亚洲福利中文字幕在线网址| 一级毛片直播亚洲| 亚洲人成色77777在线观看大| 亚洲日韩VA无码中文字幕| 在线亚洲午夜理论AV大片| 久久精品国产亚洲av成人| 亚洲精品成人网站在线播放| 亚洲H在线播放在线观看H| 亚洲精品伦理熟女国产一区二区| 国产亚洲综合一区二区三区| 国产成人无码精品久久久免费| a级日本高清免费看| 亚洲免费电影网站| 韩国日本好看电影免费看| 亚洲成a人片在线观看久| 亚洲成在人线av| 亚洲综合色区中文字幕| 日韩亚洲人成在线综合| 中文毛片无遮挡高清免费| 2019中文字幕在线电影免费| 日韩免费无码一区二区视频| 国产gv天堂亚洲国产gv刚刚碰 | 日韩毛片免费在线观看| 久久亚洲精品无码观看不卡|