在Windows平臺下安裝與配置Memcached及C#使用方法

1.在Windows下安裝Memcached

資料來源:http://www.jb51.net/article/30334.htmcss

在Windows平臺下安裝與配置Memcached的方法,Memcached 是一個高性能的分佈式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。html

Memcached 是一個高性能的分佈式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。它經過在內存中緩存數據和對象來減小讀取數據庫的次數,從而提供動態、數據庫驅動網站的速度。Memcached基於一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,可是客戶端能夠用任何語言來編寫,並經過memcached協議與守護進程通訊。可是它並不提供冗餘(例如,複製其hashmap條目);當某個服務器S中止運行或崩潰了,全部存放在S上的鍵/值對都將丟失。
Memcached由Danga Interactive開發,其最新版本發佈於2010年,做者爲Anatoly Vorobey和Brad Fitzpatrick。用於提高LiveJournal . com訪問速度的。LJ每秒動態頁面訪問量幾千次,用戶700萬。Memcached將數據庫負載大幅度下降,更好的分配資源,更快速訪問。git

1、下載Memercached For Windows
下載地址:http://www.jb51.net/softs/44843.htmlgithub

http://files.cnblogs.com/files/CodingArt/memcached_Server.rarweb

http://www.jb51.net/softs/205839.html數據庫

 

2、安裝步驟windows

image

一、解壓到指定目錄,如:C:\Memcached\memcached-win32-1.4.4-14。
二、用cmd打開命令窗口,轉到解壓的目錄,輸入 「memcached.exe -d install」。
三、打開控制面板,打開服務,能夠看到memcached已經在上面可,若是沒有啓動,則手動啓動一下。緩存

四、    使用telnet命令 驗證緩存服務器是否可用。服務器

開始什麼都不顯示,回車後輸入命令  stats  查看統計信息,以下圖,說明服務器運做正常。網絡

3、參數介紹
一、 以上的安裝和啓動都是在默認環境下進行的,在安裝時可設置以下參數:
-p 監聽的端口
-l 鏈接的IP地址, 默認是本機
-d start 啓動memcached服務
-d restart 重起memcached服務
-d stop|shutdown 關閉正在運行的memcached服務
-d install 安裝memcached服務
-d uninstall 卸載memcached服務
-u 以的身份運行 (僅在以root運行的時候有效)
-m 最大內存使用,單位MB。默認64MB
-M 內存耗盡時返回錯誤,而不是刪除項
-c 最大同時鏈接數,默認是1024
-f 塊大小增加因子,默認是1.25
-n 最小分配空間,key+value+flags默認是48
-h 顯示幫助
如:「memcached -d install -l 127.0.0.1 -m 1024 -c2048」。
二、 若是在安裝時沒有添加參數,可經過修改註冊表信息進行設置,打開註冊表,找
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached
在其中有一個「ImagePath」項,值爲:
"C:\Memcached\memcached-win32-1.4.4-14\memcached.exe" -d runservice
在後面加上「-m 1024 -c2048」。以下圖:

三、輸入stats命令後,頁面出現的參數介紹。
STAT pid 4356 服務器進程IDSTAT uptime 56625 服務器運行時間,單位秒STAT time 1225249079 服務器當前的UNIX時間STAT version1.1.0服務器的版本號STAT pointer_size 64STAT rusage_user 151.845489 該進程累計的用戶時間(秒:微妙)STAT rusage_system 121.667603 該進程累計的系統時間(秒:微妙)STAT ibuffer_size 4096STAT curr_connections 13 鏈接數量STAT total_connections 54136 服務器運行以來接受的鏈接總數STAT connection_structures 318 服務器分配的鏈接結構的數量STAT cmd_get 100595 取回請求總數STAT cmd_set 6510 存儲請求總數STAT get_hits 96543 請求成功的總次數STAT get_misses 4052 請求失敗的總次數STAT bytes_read 4427679 服務器從網絡讀取到的總字節數STAT bytes_written 6585596 服務器向網絡發送的總字節數
備註:
uptime 是memcached運行的秒數,cmd_get是查詢緩存的次數。 cmd_get/uptime獲得平均每秒請求緩存的次數。cmd_set是設置key=>value的次數。整個memcached是個大hash,用cmd_get沒有找到的內容,就會調用cmd_set寫進緩存裏。get_hits是緩存命中的次數,緩存命中率 = get_hits/cmd_get *100%。get_misses加上get_hits等於cmd_get。total_itemscurr_items表示如今在緩存中的鍵值對個數。total_items == cmd_set == get_misses,不過當可用最大內存用光時,若是memcached設置爲刪掉內容,上面的等式就不成立了。

 

2.經過MemCacheD Manager 安裝到windows的方法:

 

下載:

http://files.cnblogs.com/files/CodingArt/MemCacheDManager_1_0_3_0.zip

http://files.cnblogs.com/files/CodingArt/memcached_Server.rar

 

操做系統:Windows server 2008,Windows 7,

1. 解壓【memcached_Server.rar】到C盤:

2. 解壓並安裝【MemCacheDManager_1_0_3_0.zip】

3. 打開【MemCacheDManager】安裝目錄【C:\Program Files (x86)\MemCacheD Manager】,運行【MemCacheDManager.exe】

按照如下步驟配置:

image

image

image

SNAGHTMLae1eee9

SNAGHTMLae237cb

image

SNAGHTMLae2b90a

image

image

image

 

3.C#中使用Memcached

 

Nuget中下載【EnyimMemcached】

引用中增長了【Enyim.Caching】

1.配置config文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="enyim.com">
      <section name="memcached" type="Enyim.Caching.Configuration.MemcachedClientSection, Enyim.Caching" />
    </sectionGroup>
  </configSections>
 
  <enyim.com>
    <memcached>
      <servers>
        <add address="192.168.1.123" port="11211" />
      </servers>
      <socketPool minPoolSize="10" maxPoolSize="1000" connectionTimeout="00:00:10" deadTimeout="00:02:00"/>
    </memcached>
  </enyim.com>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
  </startup>
</configuration>

2.緩存的存取例子:

using System;
using Enyim.Caching;
 
namespace ExampleMemcached
{
    class Program
    {
        static void Main(string[] args)
        {
            var mc = new MemcachedClient();
            object customer;
            if (!mc.TryGet("Customer", out customer))
            {
                mc.Store(Enyim.Caching.Memcached.StoreMode.Add, "Customer", "Lucy");
            };
            
            Console.WriteLine((string) customer);
            Console.Read();
        }
    }
}

 

 

 

其它資源:

http://www.cnblogs.com/wucg/archive/2011/03/01/1968185.html

http://www.cnblogs.com/weberypf/archive/2011/02/18/1957937.html

http://www.cnblogs.com/dudu/archive/2009/07/19/1526407.html

https://github.com/memcached/memcached/

http://memcachedproviders.codeplex.com/releases/view/10468

https://github.com/enyim/EnyimMemcached

http://blog.csdn.net/eric_sunah/article/details/51612316

https://www.ibm.com/developerworks/cn/opensource/os-memcached/

http://blog.csdn.net/ajun_studio/article/details/6745791

http://blog.csdn.net/ajun_studio/article/details/6745341

http://www.yaosansi.com/post/memcached-on-windows/

http://www.yaosansi.com/post/memcached-on-windows/

Couchbase

http://www.cnblogs.com/weixiao520/p/4824085.html

http://www.cnblogs.com/weixiao520/p/4841585.html

相關文章
相關標籤/搜索