我将AppFabric 1.1实现到我的ASP.NET Web应用程序中。我正在使用Read Through方法,因为我只需要从SQL数据库中读取图像并将它们存储在缓存中。所以我将有机会尽快检索这些数据。
我正在检查shell,我可以看到我的应用程序正在从缓存中成功读取并在缓存为空时写入缓存。但是,AppFabric的速度并不像我预期的那么快。没有AppFabric的版本比使用AppFabric的版本更快。除此之外,当我使用Appfabric时,我可以看到CPU和内存使用率很高。
有什么潜在的原因?你有什么建议给我?
赞赏你的想法,
答案 0 :(得分:0)
所以没有更多细节,很难说清楚,但我可以尝试从AppFabric的经验中获得帮助。我们是在讨论AppFabric服务器或客户端计算机上的高内存使用率(不确定您是使用Web应用程序还是其他内容)
public class AppFabricDistributedCacheManagerFactory {
private static DataCacheFactory _dataCacheFactory; public void Initialize() { if (_dataCacheFactory == null) { _dataCacheFactory = new DataCacheFactory(); } } ......
确保您的提供商不会抛出异常,并且只在真正应用时调用Appfabric。把小提琴放在你开发盒上并观看请求。所以注意
如果您要创建区域?你保存之前是否存在?以防万一你看这个代码..在此之前......我有一些问题
public void SaveToProvider(string key,TimeSpan duration ,string regionName,object toSave)
try
{
Cache.Put(key, toSave, duration , regionName);
}
catch (DataCacheException cacheError)
{
// Look at the ErrorCode property to see if the Region is missing
if (cacheError.ErrorCode == DataCacheErrorCode.RegionDoesNotExist)
{
// Create the Region and retry the Put call
Cache.CreateRegion(_regionName);
Cache.Put(key, toSave, duration , regionName);
}
}
当您请求的项目不是缓存时,请观察请求..请参阅调用AF然后加载图像并再次呼叫AF进行保存。