gpt4 book ai didi

c# - ASP.NET MVC 缓存场景

转载 作者:太空狗 更新时间:2023-10-29 21:20:41 25 4
gpt4 key购买 nike

我还没有找到适合我的场景的解决方案。基本上我有一个 ASP.NET MVC 网站,它有相当多的数据库访问权限来制作 View (每个 View 2-3 个查询),我想利用缓存来提高性能。

问题是 View 包含的数据可能会不规则地变化,比如它可能在 2 天内是相同的,或者数据可能在一个小时内变化多次。

查询非常简单(选择...从哪里...)并且连接不是很大,每个查询平均返回 20-30 行数据(大约 10 列)。

网站当前阶段的查询非常简单,但随着时间的推移,所有者将添加更多数据,访问者数量也会增加。目前它们很大,我会考虑缓存,因为流量主要来自 Google AdWords 等,快速加载页面将是一个好处(显然)。

网站将托管在 Microsoft SQL Server 2005 数据库上(但如果需要可以升级到 2008)。

我是不是:

  1. 将缓存设置为项目不更改的最短时间(例如,缓存 3 分钟)并告诉所有者任何更改最多需要 3 分钟才能显示?

  2. 找到一种方法强制清除缓存并重新处理更改(例如,如果所有者在管理面板中添加项目,它会清除相关缓存)

  3. 忘记一起缓存

  4. 或者是否有适合这种情况的选项?

最佳答案

如果您使用的是 Sql Server,还可以考虑另一种选择:

使用 SqlCacheDependency更新基础数据时使缓存失效的类。显然,这实现了与选项 2 类似的结果。

不过,我实际上可能不得不同意 Agileguy 的观点 - 您的查询描述似乎非常简单。在设计时提前考虑并牢记缓存是个好主意,但您是否证明您现在确实需要?选项 3 似乎比选项 1 好很多,假设您现在实际上没有处理重大的性能问题。

关于c# - ASP.NET MVC 缓存场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1368130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com