zoukankan      html  css  js  c++  java
  • 艾伟_转载:.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也是一个不错的选择。

  • 相关阅读:
    【Linux技术】常用的Linux系统调用
    【Linux技术】Windows与Linux系统下的库·初探
    【C/C++】嵌入式程序员应该知道的0X10个C语言问题
    【C/C++】struct探索·extern "C"含义探索 ·C++与C的混合编程·C 语言高效编程的几招
    【Acm】八皇后问题
    【驱动】linux设备驱动·扫盲
    【驱动】linux设备驱动·字符设备驱动开发
    【教程】ubuntu下配置nvc详细教程
    【教程】InstallShield使用完全教程
    【ARM】2410裸机系列-流水灯
  • 原文地址:https://www.cnblogs.com/waw/p/2157163.html
Copyright © 2011-2022 走看看