首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缓存来自SqlProfileProvider - ProfileManager.GetAllProfiles结果的配置文件

缓存来自SqlProfileProvider - ProfileManager.GetAllProfiles结果的配置文件
EN

Stack Overflow用户
提问于 2009-11-04 21:12:59
回答 1查看 314关注 0票数 0

我在我的一个网站上使用SqlProfileProvider,在一个页面中,我需要获取完整的配置文件列表(它是一个内部网)。

我使用的方法是ProfileManager.GetAllProfiles()。问题是,它的性能真的很差,它大大减慢了网站的速度。

因此,我正在考虑将应用程序范围中的方法调用的结果缓存为一个DataTable (这样我也可以对它进行筛选/搜索)。

我的问题是,我有几个服务器运行这个the应用程序,我希望缓存是同步的。我开始使用memcached,但由于一些问题(因此回到了在应用程序范围中缓存的思考中),我被推迟了。

下面是我的问题:

  • 在应用程序对象中存储包含概要文件的DataTable是否有效?或者,是否可以将对象存储在缓存中,并使它们可供所有客户端/浏览器使用?
  • 是否可以将(SQL)缓存隐藏添加到此缓存中?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-04 21:33:46

您可以通过将配置文件列表放在用户控件中并将其标记为可缓存,从而对网页进行缓存部分。也可以定义SqlCacheDependency缓存策略过期。至于缓存位置,场中的每个web服务器都有自己的内存版本,但使用缓存过期将确保此版本不会与DB中的数据不同步。

页面或片段缓存是最有效的缓存技术,因为与缓存您的模型( DataTable或其他任何东西)相反,您不需要为HTML呈现付出代价。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1676668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档