`
csstome
  • 浏览: 1549607 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

之前一直想研究 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 服務

6. 啟動 memcached 服務

移除 Memcached (ver 1.4.4) for Win32

1. 開啟命令提示字元

2. 停止 memcached 服務

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

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> 區段加入以下定義

2. 然後在 <appSettings> 之上加入以下定義

開始使用 memcached 的 API

1. 匯入 MemcachedProviders.Cache 命名空間

2. 取得 Cache 項目

3. 寫入 Cache 項目

4. 移除 Cache 項目

5. 移除所有 Cache 項目

心得總結 (優點)

  • 架構簡單、容易上手
  • API 與 ASP.NET 快取機制類似,將現有的 HttpRuntime.Cache 替換成 DisCache 也很容易,像我大約只花半天就將一個不小的專案從ASP.NET 快取轉移至 memcached 快取
  • 安裝部署容易
  • 很容易擴充記憶體快取的總量,增加 memcached 伺服器並修改 web.config 即可!
  • 超高效能,同時支援 TCP 與 UDP 協定
  • 跨平台、跨語言、開放協定、開放原始碼、許多大網站都使用 memcached
  • 內建提供 Session Provider

心得總結 (缺點)

  • 無法取得所有快取項目,用 ASP.NET 快取可以透過 Cache.GetEnumerator() 取得所有快取項目 ( 參考: ASP.NET 如何將目前的 Cache 物件全部清空 ),但在 memcached 完全沒辦法,因為 memcached protocol 根本沒有定義這個功能,除非你自行實做。
  • 網路上可下載的 memcached 版本都不支援 高可用性(High Availability; HA) 特性
  • AppFabric Caching (Velocity) 相比功能少很多
  • 缺乏中文資源、文件少、中文社群不積極、有 Bug 不見得有人理 (還好是開源碼可以自己改)

相關連結

分享到:
评论

相关推荐

    memcached 在ASP.NET[最终版]

    【描述】"memcached 在ASP.NET[最终版]" 提示这是一个关于如何在ASP.NET环境中集成和优化memcached的完整教程或指南。这个“最终版”可能意味着涵盖了所有关键概念、最佳实践以及可能遇到的问题和解决方案。 【标签...

    memcached 在ASP.NET网站下的应用实例代码(c#)

    标题"memcached 在ASP.NET网站下的应用实例代码(c#)"揭示了本次讨论的主题,即如何在ASP.NET环境中使用memcached作为缓存解决方案,且提供了C#编程语言的实例代码。 描述提到"memcached 在ASP.NET下的应用实例代码,...

    memcached+asp.net4.0

    "memcached+asp.net4.0" 这个标题表明我们要讨论的是在ASP.NET 4.0框架下如何集成和使用memcached作为缓存解决方案。memcached是一个分布式内存对象缓存系统,常用于提高Web应用程序的性能,通过存储数据到内存中,...

    .Net中使用Memcached的相关资料

    .Net中使用Memcached的相关资料整理.NET memcached client library

    memcached1.4.13(32、64位windows)在.Net中使用.zip

    总的来说,标题和描述中的知识点主要涉及.NET环境下的Memcached使用,包括如何引用客户端库,以及利用单例模式高效地管理和使用Memcached连接。通过这些方法,开发人员可以充分利用Memcached的高速缓存能力,提升Web...

    分布式缓存系统Memcached在Asp.net下的应用

    修改Common/DB_Info.cs下查询语句, 改成你数据库中任意的表就行 cmd.CommandText = "select top 100 * from UM_Function order by FuncID"; 3.检查是否为缓存方法: 运行程序后,第一次加载数据,会将数据存入...

    几种.net调用memcached的开源类库

    在.NET开发环境中,有多种开源类库可供选择,以方便地调用和集成Memcached服务。本篇文章将重点介绍其中的一种——Enyim.Caching,并探讨其与其他Java调用Memcached示例的互通性。 首先,Enyim.Caching是.NET社区中...

    memcached-asp.net源码

    5. **集成Memcached到ASP.NET**: 这个项目的目标是将Memcached缓存系统无缝集成到ASP.NET应用中,使得开发者可以方便地在C#代码中使用Memcached的功能,如添加、删除、更新缓存项,以及执行分布式缓存操作。...

    Memcached实例源码,基于.net的dll以及源码

    在.NET环境下,开发人员可以使用特定的.NET库与Memcached进行交互。这个压缩包中的"Memcached_Demo_DLL"很可能是这样的一个库,它封装了与Memcached服务器通信的接口,使得.NET开发者可以方便地进行数据的存取操作。...

    c# asp.net memcached client 调用示例

    在本文中,我们将深入探讨如何在C# ASP.NET项目中使用Memcached客户端进行缓存操作。Memcached是一种高性能、分布式内存对象缓存系统,广泛应用于缓解数据库负载,提高Web应用程序的响应速度。以下是一个关于如何...

    .Net下的Memcached使用

    一个简单的.Net使用Memcached的示例代码,采用Enyim做为客户端,将查询结果进行缓存,不含数据库,请参照代码建立数据库和一张简单的表,一百万条记录like检索由先前5000ms变为5ms,这个小例子体现了缓存在大型系统中...

    asp.net mvc2.0+Spring.net1.3+Ibatis.net+memcached文档

    asp.net mvc2.0+Spring.net1.3+Ibatis.net+memcached的帮助,里面有spring.net和asp.netMVC的教程和一个贯穿案例。希望对大家有所帮助。绝对值这个分。

    Asp.net缓存处理

    - 在ASP.NET中集成Memcached,需要使用第三方库如Enyim.Caching。通过这个库,可以像操作.NET集合一样操作Memcached缓存。在分布式环境中,缓存数据会自动在所有服务器间同步,保证一致性。 5. **最佳实践** - ...

    memcached .net

    Memcached .NET 允许.NET开发者在他们的应用程序中方便地利用Memcached的服务,实现数据的快速读取和存储。 **Memcached的基本概念** 1. **键值对存储**: Memcached 使用键值对的方式存储数据,其中键是唯一的...

    简单的ASP.NET在线阅读网站

    在这个项目中,可能使用了ASP.NET MVC(Model-View-Controller)或Web Forms架构,这两种模式都支持动态网页开发。MVC 更加灵活,适合大型项目,而Web Forms则更易上手,适合快速开发。 2. **用户注册功能** 用户...

    asp.net计数器.rar,asp.net计数器.rar

    ASP.NET计数器是一种在网页应用中用于统计访问量或者用户行为次数的工具...通过理解和使用提供的"asp.net计数器.rar"资源,开发者可以掌握如何在自己的ASP.NET项目中创建自定义计数器,从而更好地理解和优化用户体验。

    .NET分布式缓存Memcached从入门到实战源码下载

    本文将深入探讨.NET环境下使用Memcached作为分布式缓存的实践,基于提供的源码进行分析。 首先,`ABenNet.Knowledge.Memcached.sln`是一个Visual Studio解决方案文件,通常包含了多个项目,这些项目可能包括了...

    .net c# memcached缓存获取所有缓存键的方法步骤.docx

    .NET C# Memcached 缓存获取所有缓存键的方法步骤 ...本文详细介绍了如何使用 .NET C# 语言实现 Memcached 缓存获取所有缓存键的方法步骤,该方法可以帮助开发者快速实现 Memcached 缓存机制,并提高系统性能。

    asp.net在线视频

    在“asp.net在线视频”这个主题中,我们主要关注如何利用ASP.NET技术来实现在线视频相关的功能,包括视频播放、视频上传、摄像头交互等。 1. **ASP.NET MVC或Web Forms**: ASP.NET提供了两种主要的开发模型,即ASP...

Global site tag (gtag.js) - Google Analytics