Wednesday, 7 August 2013

Restarting Memcached Server doesn't work : asp.net

Restarting Memcached Server doesn't work : asp.net

I have a problem with memcached, when I restart memcached server.
My code is like this :
protected void Page_Load(object sender, EventArgs e)
{
//DistCache.RemoveAll();
Stopwatch sw = new Stopwatch();
Stopwatch sw2 = new Stopwatch();
sw.Start();
for (int i = 0; i < 1; i++)
{
DistCache.Add(String.Format("key{0}", i),
String.Format("value{0}", i));
}
sw.Stop();
Response.Write(String.Format("add elapse : " +
sw.Elapsed.ToString() + "<br/>"));
//DistCache.Add("key1", "value1");
sw2.Start();
string str = DistCache.Get("key1") as string;
sw2.Stop();
Response.Write(String.Format("get elapse : " +
sw2.Elapsed.ToString() + "<br/>"));
Response.Write(str);
}
when I tried first attempt, it works well. However, if I restart memcached
server, it doesn't work..(It doesn't implement DistCache.Add(...),
checking with telnet)
But, if I restart memcached server, and fix the number of
DistCache.Add(...), it works well....
It's very strange... it works well when I use memcached for
ConsoleApplication...
plz help me :(
My Web.config is like this :
<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>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<enyim.com>
<memcached>
<servers>
<!-- put your own server(s) here-->
<add address="***.***.**.**" 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>

No comments:

Post a Comment