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>

     工具和源码

  • 相关阅读:
    HDU 3951 (博弈) Coin Game
    HDU 3863 (博弈) No Gambling
    HDU 3544 (不平等博弈) Alice's Game
    POJ 3225 (线段树 区间更新) Help with Intervals
    POJ 2528 (线段树 离散化) Mayor's posters
    POJ 3468 (线段树 区间增减) A Simple Problem with Integers
    HDU 1698 (线段树 区间更新) Just a Hook
    POJ (线段树) Who Gets the Most Candies?
    POJ 2828 (线段树 单点更新) Buy Tickets
    HDU 2795 (线段树 单点更新) Billboard
  • 原文地址:https://www.cnblogs.com/binfire/p/2085079.html
Copyright © 2011-2022 走看看