Enyim Memcached客户端 - 使用MemcachedSessionProvider时出现问题

时间:2014-01-02 13:17:59

标签: asp.net-mvc memcached enyim

我们在使用Memcached作为MVC .NET应用程序的会话提供程序时遇到了问题。

问题是对象进入会话,但随后会立即过期,因此我们无法检索它们。

我们使用的配置如下:

 <enyim.com>
    <memcached protocol="Binary">
      <servers>
        <add address="127.0.0.1" port="11211" />
      </servers>
    </memcached>
  </enyim.com>

  <cacheProvider defaultProvider="MemcachedCacheProvider">
    <providers>
      <add name="MemcachedCacheProvider"
          type="MemcachedProviders.Cache.MemcachedCacheProvider, MemcachedProviders"  defaultExpireTime="20000"/>
    </providers>
  </cacheProvider>   

1 个答案:

答案 0 :(得分:2)

我们在类似的帖子中找到了答案,与使用enyim存储缓存和设置到期有关 - 这是有道理的,因为显然会为进入memcached的会话项设置到期日。

问题是我们在Windows上使用的memcached版本。似乎旧版本的服务器日期时间有问题。

当我们通过telnet连接到memcached服务器并运行stats命令时,我们发现服务器上的time属性(一个纪元日期)设置为1974年的某个日期。 / p>

经过一番调查后,我发现this post确认它是我们正在使用的旧Windows版Memcached。

更新到以下版本的memcached已解决此问题: http://blog.elijaa.org/index.php?post/2010/08/25/Memcached-1.4.5-for-Windows