中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

分布式緩存系統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 }

NET技術分布式緩存系統Memcached簡介與實踐,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 色综合99| 在线观看免费高清av | 国产成人免费视频网站视频社区 | 一区二区激情 | 精品亚洲一区二区 | 亚洲精品日韩一区二区电影 | 欧洲一区视频 | 欧美成人h版在线观看 | 一级片视频免费 | 国产亚洲人成a在线v网站 | 国产激情一区二区三区 | 亚洲精品一区二区 | 四虎影院在线观看av | 成人久久久 | 国产一区不卡 | 999久久久 | 国产999精品久久久久久绿帽 | 国产视频日韩 | 亚洲精品中文字幕中文字幕 | 国产精品日韩一区二区 | 国产区一区二区三区 | 欧美日韩国产在线观看 | 在线视频一区二区三区 | 日韩av在线一区二区三区 | 玖玖爱365| 亚洲视频免费在线观看 | 精品视频亚洲 | 看一级毛片视频 | 亚洲欧美日韩电影 | 国产成人在线视频 | 一区亚洲 | 午夜成人免费视频 | 99热都是精品 | 一级黄色毛片免费 | 亚洲精品电影网在线观看 | 99re6在线视频精品免费 | 日本精品一区二区 | 台湾a级理论片在线观看 | 91麻豆产精品久久久久久夏晴子 | 日韩午夜一区二区三区 | 欧美激情视频一区二区三区在线播放 |