首先下载Memcache window版本,然后解压后拷贝文件到c:\Memcache
在命令执行窗口输入 c:\memcached\memcached.exe -d install
安装成功后执行 c:\memcached\memcached.exe -d start 启动
启动成功后,在系统服务列表中,可以看到memcached服务,服务器端安装成功。
下载地址 http://memcachedproviders.codeplex.com/.net客户端,新建web网站,将MemcachedProviders.dll,Enyim.Caching.dll,log4net.dll添加到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"/> </configSections> <enyim.com> <memcached> <servers> <!-- put your own server(s) here--> <add address="127.0.0.1" port="11211"/> //服务器列表 </servers> <socketPool minPoolSize="10" maxPoolSize="100" connectionTimeout="00:00:10" deadTimeout="00:02:00"/> </memcached> </enyim.com> <cacheProvider defaultProvider="MemcachedCacheProvider"> <providers> <add name="MemcachedCacheProvider" type="MemcachedProviders.Cache.MemcachedCacheProvider, MemcachedProviders" keySuffix="_MySuffix_" defaultExpireTime="2000"/> </providers> </cacheProvider> <log4net> <!-- Define some output appenders --> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/> </layout> </appender> <!--<threshold value="OFF" />--> <!-- Setup the root category, add the appenders and set the default priority --> <root> <priority value="WARN"/> <appender-ref ref="ConsoleAppender"> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="WARN"/> <levelMax value="FATAL"/> </filter> </appender-ref> </root> </log4net>
后台代码实现
string key = "user_info";//key值 object obj = new object(); string result = string.Empty; if (DistCache.Get(key)!=null ) //测试缓存中是否存在key的值 { result = DistCache.Get(key).ToString(); } else { Thread.Sleep(10000); result = "测试"; DistCache.Add(key, result); } Response.Write(result);