首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ASP.NET进行缓存

使用ASP.NET进行缓存
EN

Stack Overflow用户
提问于 2008-12-04 15:11:49
回答 3查看 285关注 0票数 1

我有显示几个关键字的表单(很少更改的标准选项列表)。大约有4个这样的字段,每个字段有大约20个选择。

我在想,缓存关键字是否会对性能/最佳实践有所帮助?是否有确定何时缓存的策略?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-12-04 15:18:40

首先,你应该看看这些关键字的成本。

  • 您是否从数据库中分别查询它们?
  • 您是否将它们作为一个组进行查询?
  • 它们是您简单地写出的常量吗?

一般来说,在优化(IE缓存)时,寻找那些能让你获得最大回报的项目。

还要看看旧的80-20规则;大约80项数据只是桶中的一小滴,而800,000项的列表值得一看。

票数 1
EN

Stack Overflow用户

发布于 2008-12-04 16:09:33

您可以在页面指令中使用ASP.NET输出缓存。

代码语言:javascript
复制
 <%@ OutputCache Duration="60" VaryByParam="Keyword" %>

这将为每个关键字GET/POST请求创建页面的服务器端缓存,每个缓存将持续1分钟。

因此,如果有人访问my-page.aspx?Keyword=Cards,asp.net将呈现该页面,并在内存中将其保存为HTML60秒。如果有人访问my-page.aspx?Keyword=Books,它会用超文本标记语言创建一个单独版本的页面,并将其缓存。

票数 1
EN

Stack Overflow用户

发布于 2008-12-04 16:03:21

使用带有适当字段的惰性初始化singeton来存储数据。例如,在http://www.yoda.arachsys.com/csharp/singleton.html的这个单件

您可以将该属性设置为

代码语言:javascript
复制
"IDictionary<string, IList<string>"

如果您希望它们按类别组织,并可按关键字迭代。

您可以使用

代码语言:javascript
复制
"IDIctionary<string, IDictionary<string, string>"

IDIctionary

如果您希望能够按类别和关键字进行搜索。如果我没看错你的问题,这对你来说是一个合适的选择。

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

https://stackoverflow.com/questions/340915

复制
相关文章

相似问题

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