标签:
安裝 Memcached (ver 1.4.4) for Win32
1. 下載 memcached 1.4.4 Windows 32-bit binary 或 memcached Windows 64-bit pre-release
2. 在 C:\Program Files 建立一個 memcached 目錄
3. 將下載的壓縮檔解壓縮至 C:\Program Files\memcached 目錄
4. 開啟命令提示字元
5. 將 memcached 註冊進 Windows 服務
- "C:\Program Files\memcached\memcached.exe" -d install
- "C:\Program Files\memcached\memcached.exe" -d install
6. 啟動 memcached 服務
- <span class="str">"C:\Program Files\memcached\memcached.exe"</span> -d start
- <span class="str">"C:\Program Files\memcached\memcached.exe"</span> -d start
移除 Memcached (ver 1.4.4) for Win32
1. 開啟命令提示字元
2. 停止 memcached 服務
- <span class="str">"C:\Program Files\memcached\memcached.exe"</span> -d stop
- <span class="str">"C:\Program Files\memcached\memcached.exe"</span> -d stop
3. 將 memcached 服務從 Windows 服務中移除
- <span class="str">"C:\Program Files\memcached\memcached.exe"</span> -d uninstall
- <span class="str">"C:\Program Files\memcached\memcached.exe"</span> -d uninstall
4. 移除 C:\Program Files\memcached 目錄
測試 memcached 是否正常運作
1. 透過 telnet 指令連接到 localhost 的 11211 port, 其中 Port 11211 為 memcached 預設的 Listen Port,如果有開啟防火牆記得要設定才能讓遠端連接。( 預設會 Listen 所有 interface )
2. 輸入 stats 指令,並按下 Enter 取得目前 memcached 服務的運作狀態,有資料就代表安裝成功了
3. 輸入 quit 指令,並按下 Enter 退出
備註:完整指令請參考
memcached protocol
設定 ASP.NET 專案
1. 下載
Memcached Providers 組件 ==>
Memcached Providers 1.2 (.NET 3.5)
2. 將以下組件複製到 ASP.NET 網站的 bin 目錄下,或透過 加入參考(Add Reference) 方式將加入專案
- Enyim.Caching.dll
- Enyim.Caching.pdb
- MemcachedProviders.dll
- MemcachedProviders.pdb
設定 Memcached Cached Provider 並註冊至 web.config
1. 在 <configSections> 區段加入以下定義
- <!-- Memcached -->
- <section name="cacheProvider"
- type="MemcachedProviders.Cache.CacheProviderSection, MemcachedProviders"
- allowDefinition="MachineToApplication" restartOnExternalChanges="true"/>
-
- <sectionGroup name="enyim.com">
- <section name="memcached"
- type="Enyim.Caching.Configuration.MemcachedClientSection, Enyim.Caching" />
- </sectionGroup>
- <!-- Memcached -->
- <section name="cacheProvider"
- type="MemcachedProviders.Cache.CacheProviderSection, MemcachedProviders"
- allowDefinition="MachineToApplication" restartOnExternalChanges="true"/>
-
- <sectionGroup name="enyim.com">
- <section name="memcached"
- type="Enyim.Caching.Configuration.MemcachedClientSection, Enyim.Caching" />
- </sectionGroup>
2. 然後在 <appSettings> 之上加入以下定義
- <enyim.com>
- <memcached>
- <servers>
- <add address="127.0.0.1" port="11211" />
- </servers>
- <socketPool minPoolSize="10" maxPoolSize="100"
- connectionTimeout="00:00:10" deadTimeout="00:02:00" />
- </memcached>
- </enyim.com>
- <cacheProvider defaultProvider="MemcachedCacheProvider">
- <providers>
- <add name="MemcachedCacheProvider"
- type="MemcachedProviders.Cache.MemcachedCacheProvider, MemcachedProviders"
- keySuffix="_MyProjectName_" defaultExpireTime="2000"/>
- </providers>
- </cacheProvider>
- <enyim.com>
- <memcached>
- <servers>
- <add address="127.0.0.1" port="11211" />
- </servers>
- <socketPool minPoolSize="10" maxPoolSize="100"
- connectionTimeout="00:00:10" deadTimeout="00:02:00" />
- </memcached>
- </enyim.com>
- <cacheProvider defaultProvider="MemcachedCacheProvider">
- <providers>
- <add name="MemcachedCacheProvider"
- type="MemcachedProviders.Cache.MemcachedCacheProvider, MemcachedProviders"
- keySuffix="_MyProjectName_" defaultExpireTime="2000"/>
- </providers>
- </cacheProvider>
開始使用 memcached 的 API
1. 匯入 MemcachedProviders.Cache 命名空間
- using MemcachedProviders.Cache;
- using MemcachedProviders.Cache;
2. 取得 Cache 項目
- object objCache = DistCache.Get(cacheKey);
- object objCache = DistCache.Get(cacheKey);
3. 寫入 Cache 項目
-
- DistCache.Add(cacheKey, cacheValue);
-
- DistCache.Add(cacheKey, cacheValue, 60 * 1000);
-
- DistCache.Add(cacheKey, cacheValue, DateTime.Today.AddDays(1) - DateTime.Now);
-
- DistCache.Add(cacheKey, cacheValue);
-
- DistCache.Add(cacheKey, cacheValue, 60 * 1000);
-
- DistCache.Add(cacheKey, cacheValue, DateTime.Today.AddDays(1) - DateTime.Now);
4. 移除 Cache 項目
- DistCache.Remove(cacheKey);
- DistCache.Remove(cacheKey);
5. 移除所有 Cache 項目
心得總結 (優點)
- 架構簡單、容易上手
- API 與 ASP.NET 快取機制類似,將現有的 HttpRuntime.Cache 替換成 DisCache 也很容易,像我大約只花半天就將一個不小的專案從ASP.NET 快取轉移至
memcached 快取
- 安裝部署容易
- 很容易擴充記憶體快取的總量,增加 memcached 伺服器並修改 web.config 即可!
- 超高效能,同時支援 TCP 與 UDP 協定
- 跨平台、跨語言、開放協定、開放原始碼、許多大網站都使用 memcached
- 內建提供 Session Provider
心得總結 (缺點)
转载:在 ASP.NET 環境下使用 Memcached 快速上手指南
标签:
原文地址:http://www.cnblogs.com/paulkk/p/4623585.html