91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

分布式緩存系統memcached簡介與實踐是怎樣的

發布時間:2021-11-22 18:05:13 來源:億速云 閱讀:163 作者:柒染 欄目:web開發

這篇文章給大家介紹分布式緩存系統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. 代碼

 namespace Memcached.MemcachedBench
 {
     using System;
     using System.Collections;
 
     using Memcached.ClientLibrary;
 
     public class MemcachedBench 
      {
          [STAThread]
         public static void Main(String[] args) 
          {
            string[] serverlist = { "10.0.0.131:11211", "10.0.0.132:11211" };
 
             //初始化池
              SockIOPool pool = SockIOPool.GetInstance();
              pool.SetServers(serverlist);
 
              pool.InitConnections = 3;
              pool.MinConnections = 3;
              pool.MaxConnections = 5;
 
              pool.SocketConnectTimeout = 1000;
              pool.SocketTimeout = 3000;
 
              pool.MaintenanceSleep = 30;
              pool.Failover = true;
 
              pool.Nagle = false;
              pool.Initialize();
 
             // 獲得客戶端實例
              MemcachedClient mc = new MemcachedClient();
              mc.EnableCompression = false;
 
              Console.WriteLine("------------測   試-----------");
              mc.Set("test", "my value");  //存儲數據到緩存服務器,這里將字符串"my value"緩存,key 是"test"
 
             if (mc.KeyExists("test"))   //測試緩存存在key為test的項目
             {
                  Console.WriteLine("test is Exists");
                  Console.WriteLine(mc.Get("test").ToString());  //在緩存中獲取key為test的項目
              }
             else
              {
                  Console.WriteLine("test not Exists");
              }
 
              Console.ReadLine();
 
              mc.Delete("test");  //移除緩存中key為test的項目
 
            if (mc.KeyExists("test"))
              {
                  Console.WriteLine("test is Exists");
                  Console.WriteLine(mc.Get("test").ToString());
              }
             else
              {
                  Console.WriteLine("test not Exists");
              }
              Console.ReadLine();
             
              SockIOPool.GetInstance().Shutdown();  //關閉池, 關閉sockets
          }
      }
 }

4. 運行結果

分布式緩存系統memcached簡介與實踐是怎樣的

關于分布式緩存系統memcached簡介與實踐是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇礼县| 彭泽县| 双流县| 蛟河市| 大方县| 乌鲁木齐县| 沙洋县| 本溪| 兴仁县| 田阳县| 桐庐县| 深水埗区| 施秉县| 鄂托克前旗| 凉城县| 理塘县| 郎溪县| 黄平县| 神池县| 合江县| 临夏县| 贺州市| 广西| 遂川县| 布拖县| 石嘴山市| 连云港市| 常宁市| 湘潭县| 凤城市| 赣榆县| 无锡市| 栾川县| 金华市| 黄骅市| 南陵县| 图片| 门头沟区| 平谷区| 荔波县| 光泽县|