gpt4 book ai didi

asp.net-mvc - 在 ASP.NET MVC 应用程序中应该在哪里进行缓存?

转载 作者:行者123 更新时间:2023-12-03 23:38:57 24 4
gpt4 key购买 nike

我需要使用 缓存一些数据System.Web.Caching.Cache .不确定这是否重要,但数据不是来自数据库,而是来自大量自定义对象。
ASP.NET MVC 对我来说是相当新的,我想知道这种缓存发生在哪里有意义?
模型还是 Controller ?
在某种程度上,在 处缓存是有意义的。型号 水平,但我不一定知道这样做的影响(如果有的话)。如果缓存是在 上完成的 Controller 级别,是否会影响所有请求,或仅针对当前 HttpContext ?
那么......应用程序数据缓存应该在哪里完成,实际这样做的好方法是什么?
更新
谢谢你的好答案!我仍在尝试收集在不同场景下缓存最有意义的地方。如果一个人正在缓存整个页面,那么将它保留在 View 中是有意义的,但是当它不是整个页面时在哪里画线?

最佳答案

我认为这最终取决于您要缓存的内容。如果要缓存呈现页面的结果,这与请求的 Http 性质紧密耦合,并且建议使用 ActionFilter 级缓存机制。

另一方面,如果您想要缓存驱动页面本身的数据,那么您应该考虑模型级缓存。在这种情况下, Controller 不关心数据何时生成,它只是对数据执行逻辑操作并准备查看。模型级缓存的另一个论点是,您是否对未附加到 Http 上下文的模型数据有其他依赖项。

例如,我有一个网络应用程序,我的大部分模型都被抽象为一个完全不同的项目。这是因为将有第二个 Web 应用程序使用相同的支持,并且我们可能有一个使用相同数据的非基于 Web 的应用程序。我的大部分数据来自网络服务,这可能是性能杀手,所以我有 Controller 和 View 完全不知道的模型级缓存。

关于asp.net-mvc - 在 ASP.NET MVC 应用程序中应该在哪里进行缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/235147/

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