当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

.NET平台上的Memcached客户端介绍

  早上接到一个任务,需要对Linux服务器的Memcached的update操作进行性能测试,我发现我是一个典型的“手里拿着锤子,就把所有问题都当成钉子”的人。我第一个念头就是,上Memcached的官网找.NET的客户端。最后在Codeplex上找到了一个叫Memcached Providers的客户端程序,很小,218K,里面就3个DLL,一个是Memcached Providers本身的DLL,还有一个是Enyim.Caching,Enyim.Caching也是一个.NET平台上的Memcached客户端,最后就是着名的log4net。

  Memcached Providers的配置很方便,首先就是在.NET项目中引用上述提到的3个DLL文件,然后就需要修改项目的配置文件,如果是桌面程序,就修改APP.CONFIG,如果是WEB程序,就修改WEB.CONFIG。

  首先在configSections节点下增加如下配置:

  <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>

  <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>

  接着在configuration节点下增加Enyim的配置节点:

  <enyim.com> <memcached> <servers> <!-- put your own server(s) here-->

  <add address="10.60.0.105" port="19191" /> </servers>

  <socketPool minPoolSize="10" maxPoolSize="100" connectionTimeout="00:00:10" deadTimeout="00:02:00" />

  </memcached>

  </enyim.com>

  最后就是在configuration节点下增加Log4net的配置节点:

  <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

  <layout type="log4net.Layout.PatternLayout">

  <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}]- %message%newline" />

  </layout>

  </appender>

  <root>

  <priority value="WARN"/>

  <appender-ref ref="ConsoleAppender">

  <filter type="log4net.Filter.LevelRangeFilter">

  <levelMin value="WARN"/>

  <levelMax value="FATAL"/>

  </filter>

  </appender-ref>

  </root></log4net>

  最后做一个简单的测试:

  TestMethod]public void TestMethod1()

  {

  string key = "mykey"; string value = "Success!!!"; DistCache.Add(key, value);

  //存数据 Thread.Sleep(500); string ret = (string)DistCache.Get(key);

  //读数据 Assert.AreEqual(value, ret);

  //验证

  }

  整个过程下来比较顺利,基本没有遇到问题,这一切准备完毕以后就可以进入测试了。PHP,JAVA,Python等程序语言的Memcached客户端是比较多的,而.NET平台的客户端却只有2、3个,如果打算在.NET程序中使用Memcached,Memcached Providers也是一个不错的选择。

相关内容
赞助商链接