• 在 ASP.NET 環境下使用 Memcached 快速上手指南


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


    安裝 Memcached (ver 1.4.4) for Win32


    1. 下載 memcached 1.4.4 Windows 32-bit binarymemcached Windows 64-bit pre-release

    http://www.urielkatz.com/archive/detail/memcached-64-bit-windows/

    wind32:

    http://jehiah.cz/projects/memcached-win32/

    win64:

    http://www.urielkatz.com/projects/memcached-win64/memcached-win64.zip


    http://jehiah.cz/projects/memcached-win32/

    --

    2. 在 C:\Program Files 建立一個 memcached 目錄


    3. 將下載的壓縮檔解壓縮至 C:\Program Files\memcached 目錄


    4. 開啟命令提示字元(记得win2008/win7下一定要以管理员身份运行)


    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>


    開始使用 memcached 的 API


    1. 匯入 MemcachedProviders.Cache 命名空間


    using MemcachedProviders.Cache;

    2. 取得 Cache 項目


    object objCache = DistCache.Get(cacheKey);

    3. 寫入 Cache 項目


    // 寫入快取資料 (預設過期時間)
    DistCache.Add(cacheKey, cacheValue);
    // 快取 60 秒
    DistCache.Add(cacheKey, cacheValue, 60 * 1000);
    // 快取至今天結束
    DistCache.Add(cacheKey, cacheValue, DateTime.Today.AddDays(1) - DateTime.Now);

    4. 移除 Cache 項目


    DistCache.Remove(cacheKey);

    5. 移除所有 Cache 項目


    DistCache.RemoveAll();

    --

    http://blog.miniasp.com/post/2010/01/27/Memcached-for-ASPNET-Quick-Start-Guide.aspx

  • 相关阅读:
    Linux命令——mkdir
    UNIX 高手的 10 个习惯
    Linux命令——pwd
    Linux命令——cd命令
    Linux命令——ls命令
    denyhost安装脚本
    三台服务器无需密码相互访问
    字符串方法
    nginx简易安装
    shell 条件判断语句整理
  • 原文地址:https://www.cnblogs.com/antyi/p/2586647.html
Copyright © 2020-2023  润新知