.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也是一个不错的选择。

时间: 2024-10-15 03:38:02

.NET平台上的Memcached客户端介绍的相关文章

Linux平台上SQLite数据库教程(二)——C语言API介绍

Linux平台上SQLite数据库教程(二)--C语言API介绍 前言:本文将介绍几个基本的SQLite3数据库的C语言API接口,主要用到两个文件:sqlite3.c.sqlite3.h.源码地址:https://github.com/AnSwErYWJ/SQLite. 打开数据库 1.原型: int sqlite3_open( const char* filename, /* 数据库文件名, 必须为 UTF-8 格式 */ sqlite3** ppDB /* 输出: SQLite 数据库句柄

GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。

1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便地使用所有版本的Android动作栏的设计模式. 对于Android 4.0及更高版本,ActionBarSherlock可以自动使用本地ActionBar实现,而对于之前没有ActionBar功能的版本,基于Ice Cream Sandwich的自定义动作栏实现将自动围绕布局.能够让开发者轻松开发

Centos 6.6 x86_64 平台上yum的使用

友情提醒:本文的实验平台vmware 10 + Centos 6.6 X86_64,所述内容中的命令请谨慎使用. -------------------------------------楔子-------------------------------------------------- 胖子法师上次在小酒馆中,关于<grep与正则表达式使用>的阐述为其赢得了几个粉丝.今日在魔法塔中喜滋滋翻看着粉丝来信,一封信中提到在Gnu/Linux os平台上安装程序包的种种不顺,这又勾起了胖子好为人

Linux平台上SQLite数据库教程(一)——终端使用篇

Linux平台上SQLite数据库的安装与使用 SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,可能只需要几百K的内存就够了.能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl.C#.PHP.Java等,还有ODBC接口. 安装 在终端输入: sudo apt-get install sqlite3 一般系统中自带,不需要手动安装. 我们也可以选择安装图形界面程序,如sql

测试Qt Quick在各个平台上的3D渲染性能

测试Qt Quick在各个平台上的3D渲染性能 Qt是一个跨平台的GUI框架,它的QtQuick更是支持结合OpenGL原生的代码进行渲染.我想将我以前写的程序整合到QtQuick上来,看看渲染效果是否满意,于是写了一个小小的程序,来做一下渲染基准测试.运行结果出来,不容乐观呐. 蒋彩阳原创文章,首发地址:http://blog.csdn.net/gamesdev/article/details/43842131.欢迎同行前来探讨. 首先为了描述最基本的情况,我制作了一个带有纹理的立方体.它使用

支持 .NET Core 的 Memcached 客户端 EnyimMemcachedCore

1. 介绍 EnyimMemcachedCore 是一个支持 .NET Core 的 Memcached 客户端,是从 EnyimMemcached 迁移至 .NET Core的,源代码托管在 GitHub 上:https://github.com/cnblogs/EnyimMemcachedCore ,NuGet 包地址:https://www.nuget.org/packages/EnyimMemcachedCore . 2. 使用说明 2.1 安装 NuGet 包 Install-Pack

分析Memcached客户端如何把缓存数据分布到多个服务器上

Memcached客户端可以设多个memcached服务器,它是如何把数据分发到各个服务器上,而使各个服务器负载平衡的呢? 可以看看.net版中的客户端中的源码,就可以知道 先看代码:   1 /// <summary>   2         /// Returns appropriate SockIO object given   3         /// string cache key and optional hashcode.   4         ///    5      

Android平台上PMEM的使用及Platform设备注册(一)

Android中PMEM驱动程序是物理内存的驱动程序,可用于分配物理内存.PMEM在camera和video系统中频繁使用.下面,简单记录一下PMEM的使用方法.另外,由于PMEM设备做为Platform设备存在,所以我们将对Platform设备做以简单描述. 一.PMEM的使用 使用PMEM需要包含如下几个头文件: #include <sys/ioctl.h> #include <binder/MemoryHeapBase.h> #include <binder/Memor

Android平台上PMEM的使用及Platform设备注册(二)

三.注册PMEM设备 这里我们除了描述PMEM设备,还将注册一个拥有memory空间和IRQ资源的示例设备example_device. 对于example_device,定义如下结构体: static struct resource example_resources[] = { [0] = { .start  = 0xC0000000, .end    = 0xC0020000, .flags  = IORESOURCE_MEM, }, [1] = { .start  = 30, .end