zoukankan      html  css  js  c++  java
  • Memcached在Asp.NET中的使用

    之前一直想研究 Memcached,這幾天花了些時間研究 Memcached Providers 好讓我現有的 ASP.NET 專案能解決多台主機間快取不同步的狀況, 想不到花沒多少時間就上手了,也因此做了一些記錄。

    安裝 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

    6. 啟動 memcached 服務

    "C:\Program Files\memcached\memcached.exe" -d start

     

    移除 Memcached (ver 1.4.4) for Win32

    1. 開啟命令提示字元

    2. 停止 memcached 服務

    "C:\Program Files\memcached\memcached.exe" -d stop

    3. 將 memcached 服務從 Windows 服務中移除

    "C:\Program Files\memcached\memcached.exe" -d uninstall

    4. 移除 C:\Program Files\memcached 目錄

     

    測試 memcached 是否正常運作

    1. 透過 telnet 指令連接到 localhost 的 11211 port, 其中 Port 11211 為 memcached 預設的 Listen Port,如果有開啟防火牆記得要設定才能讓遠端連接。( 預設會 Listen 所有 interface )

    telnet localhost 11211

    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>

    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>

     工具和源码

  • 相关阅读:
    2015个人年度总结
    矢量图标的使用
    onsrcoll和scrollTop兼容与实现
    我们,曾是阿里宝宝
    linux 基本操作笔记
    认识与学习shell
    两道有趣的面试题
    使用css保持一定宽高比例
    我在 超级课程表 实习的那个月
    3、4月学习总结,如愿阿里前端实习生
  • 原文地址:https://www.cnblogs.com/binfire/p/2085079.html
Copyright © 2011-2022 走看看