分布式缓存方案:Memcached初探
.net 框架中为我们提供了一个Cache对象用来处理系统缓存,Cache对象使用起来非常方便,
相信大家对Cache对象应该不会陌生。然而Cache对象缓存的对象存放本机的内存,这样便限制了我们缓存对象的大小和数量。
在这篇文章中我主要想介绍一个开源项目:memcached(一个提供分布式缓存策略的项目)
Memcached在一些大型java与PHP项目中有较广泛的应用(例如FaceBook)。通过memcached建立一个可管理的且相对独立的缓存层,减少应用程序与数据库之间的频繁访问。这正是memcached的魅力所在。
本文不讨论memcached的内部实现机制。主要是讲述一下memcached的具体使用方法(更具体一点应该是memcached在。Net下使用)。
Memcached的使用主要分两部分:memcached服务器端架设与memcached客户端调用。
下面分别讲述一下具体操作。
memcached服务器端架设:我们从网上下载memcached的WIN32服务端安装包。本文中用的是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的.net(C#)的客户端API包,
本文用的是memcacheddotnet_clientlib-1.1.5.zip版本。
注意:一个客户端可以调用多个memcached服务端。(也就是说一个项目可以架多个memcached服务端)当然这些memcached服务端应该在不同的服务器上,,不然没有任何意义。
下面用一个实例来讲解如何使用memcached的ClientAPI.
新建一个WEBSITE项目。
我们要在项目中引入Commons.dll; ICSharpCode.SharpZipLib.dll; Memcached.ClientLibrary.dll
在default.aspx.cs的代码如下:
结果我就不贴出来了。
文中的 memcacheddotnet_clientlib-1.1.5.zip与memcached-1.2.1-win32.zip我明天整理下再发上来。很晚啦~.
写的匆忙,有不对之处,还望见谅!
原创文字只代表本人某一时间内的观点或结论,本人不对涉及到的任何代码担保。转载请标明出处!