CacheManager 内存缓存配置
CacheManager memcached configuration
我将为我的 .net 项目使用 CacheManager。问题是我找不到任何 CacheManager.Memcached 用法的例子。
我是这样使用的:
public class GlobalCache
{
private static ICacheManager<object> memcachedClient { get; set; }
private static readonly object locker = new object();
static GlobalCache()
{
if (memcachedClient == null)
{
lock (locker)
{
memcachedClient = CacheFactory.Build("memcached", settings => settings.WithMemcachedCacheHandle("memcached"));
}
}
}
}
Web.config:
<configuration>
<enyim.com>
<memcached protocol="Binary">
<servers>
<add address="127.0.0.1" port="11211" />
</servers>
</memcached>
</enyim.com>
<cache name="memcached">
<handle name="memcached"/>
</cache>
</configuration>
我的错误是:
http://c2n.me/3hSHqvR.png - Web 配置中的未知部分。
如果删除所有这些部分,则会出现另一个运行时错误:
http://c2n.me/3hSI745.png - 配置错误。
我尝试使用 settings.WithSystemRuntimeCacheHandle() 而不是 settings.WithMemcachedCacheHandle() 并且它在没有任何配置部分的情况下工作正常。但在这种情况下,每次重新启动我的应用程序时,我的缓存都会被清除。我想要的是 - 将缓存存储在 memcached 存储中,与我的应用程序无关。
因此,如果您有一些关于如何将 memcached 与 CacheManager 一起使用的示例或小教程 - 我将不胜感激。
提前致谢!
关于 <cache name="memcached">
部分的错误,很可能是您没有在配置文件中使用该名称定义任何部分。
至少没有来自 CacheManager 或 enyim 的部分。
然后关于memcached句柄。句柄的名称必须与部分匹配,以便 CacheManager 可以选择配置。
默认值是 enyim.com/memcached
你有。因此,您可以将 enyim.com/memcached
或 default
作为 memcached 缓存句柄的名称。
喜欢
CacheFactory.Build("memcached", settings => settings
.WithMemcachedCacheHandle("enyim.com/memcached"));
让我知道这是否适合你。
我知道这还没有很好的记录。我可能会在有时间的时候添加一些东西;)
我将为我的 .net 项目使用 CacheManager。问题是我找不到任何 CacheManager.Memcached 用法的例子。
我是这样使用的:
public class GlobalCache
{
private static ICacheManager<object> memcachedClient { get; set; }
private static readonly object locker = new object();
static GlobalCache()
{
if (memcachedClient == null)
{
lock (locker)
{
memcachedClient = CacheFactory.Build("memcached", settings => settings.WithMemcachedCacheHandle("memcached"));
}
}
}
}
Web.config:
<configuration>
<enyim.com>
<memcached protocol="Binary">
<servers>
<add address="127.0.0.1" port="11211" />
</servers>
</memcached>
</enyim.com>
<cache name="memcached">
<handle name="memcached"/>
</cache>
</configuration>
我的错误是: http://c2n.me/3hSHqvR.png - Web 配置中的未知部分。
如果删除所有这些部分,则会出现另一个运行时错误: http://c2n.me/3hSI745.png - 配置错误。
我尝试使用 settings.WithSystemRuntimeCacheHandle() 而不是 settings.WithMemcachedCacheHandle() 并且它在没有任何配置部分的情况下工作正常。但在这种情况下,每次重新启动我的应用程序时,我的缓存都会被清除。我想要的是 - 将缓存存储在 memcached 存储中,与我的应用程序无关。
因此,如果您有一些关于如何将 memcached 与 CacheManager 一起使用的示例或小教程 - 我将不胜感激。
提前致谢!
关于 <cache name="memcached">
部分的错误,很可能是您没有在配置文件中使用该名称定义任何部分。
至少没有来自 CacheManager 或 enyim 的部分。
然后关于memcached句柄。句柄的名称必须与部分匹配,以便 CacheManager 可以选择配置。
默认值是 enyim.com/memcached
你有。因此,您可以将 enyim.com/memcached
或 default
作为 memcached 缓存句柄的名称。
喜欢
CacheFactory.Build("memcached", settings => settings
.WithMemcachedCacheHandle("enyim.com/memcached"));
让我知道这是否适合你。
我知道这还没有很好的记录。我可能会在有时间的时候添加一些东西;)