分布式缓存方案:Memcached初探

.net 框架中为我们提供了一个Cache对象用来处理系统缓存,Cache对象使用起来非常方便,

相信大家对Cache对象应该不会陌生。然而Cache对象缓存的对象存放本机的内存,这样便限制了我们缓存对象的大小和数量。

 

在这篇文章中我主要想介绍一个开源项目:memcached(一个提供分布式缓存策略的项目)

Memcached在一些大型javaPHP项目中有较广泛的应用(例如FaceBook)。通过memcached建立一个可管理的且相对独立的缓存层,减少应用程序与数据库之间的频繁访问。这正是memcached的魅力所在。

 

本文不讨论memcached的内部实现机制。主要是讲述一下memcached的具体使用方法(更具体一点应该是memcached在。Net下使用)。

 

Memcached的使用主要分两部分:memcached服务器端架设与memcached客户端调用。

 

下面分别讲述一下具体操作。

 

memcached服务器端架设:我们从网上下载memcachedWIN32服务端安装包。本文中用的是memcached-1.2.1-win32版。

我们解压文件到一个目录memcached。然后打开命令行窗口,用dos命令跳转到memcached目录下,执行如下命令:

C:"memcached>memcached.exe -d install

 

C:"memcached>memcached.exe -d start

-d参数是开启守护进程。默认开启的是本机的11211端口

 

其他参数可以用-h查看。

这样我们的服务器端就架好了,很容易。

卸载的命令为:

C:"memcached>memcached.exe -d stop

 

C:"memcached>memcached.exe -d uninstall

 

 

memcached客户端调用:我们也从网上下载memcached.netC#)的客户端API包,

本文用的是memcacheddotnet_clientlib-1.1.5.zip版本。

注意:一个客户端可以调用多个memcached服务端。(也就是说一个项目可以架多个memcached服务端)当然这些memcached服务端应该在不同的服务器上,,不然没有任何意义。

下面用一个实例来讲解如何使用memcachedClientAPI.

新建一个WEBSITE项目。

我们要在项目中引入Commons.dll; ICSharpCode.SharpZipLib.dll; Memcached.ClientLibrary.dll

default.aspx.cs的代码如下:

 

Code

 结果我就不贴出来了。

文中的 memcacheddotnet_clientlib-1.1.5.zip与memcached-1.2.1-win32.zip我明天整理下再发上来。很晚啦~.

写的匆忙,有不对之处,还望见谅!

posted @ 2008-07-30 23:06  Ants  阅读(3082)  评论(9编辑  收藏  举报