我一直在阅读有关此主题的内容,但我很想知道优化ASP.NET缓存使用的最佳方法是什么,以及有关如何确定应该使用哪些内容的一些提示并且不应该进入缓存。另外,有没有任何经验法则可以确定缓存中应该说多长时间?
答案 0 :(得分:1)
答案 1 :(得分:1)
尚未实现缓存。
推迟,直到您耗尽所有索引,查询调整,页面简化以及其他更多提升性能的行人方式。如果你在最后的手段之前翻转缓存,那么你将更难以找出性能瓶颈所在的位置。
当然,如果你在最后开启缓存的情况下调整了后端,那么它的工作时间会比你今天的工作时间长很多。
答案 2 :(得分:0)
我听过关于性能调整和缓存的最好的引用是它是一门艺术而不是一门科学,抱歉不记得是谁说的但是这里的重点是有很多因素可以影响您需要逐个评估每种情况的应用程序的性能,并在达到预期结果之前对该案例进行考虑调整。
我意识到我在这里没有提供任何细节,但我认为你不能
我将举一个前面的例子。我开发了一个应用程序,该应用程序对web服务进行了大量调用,以构建客户端配置文件,例如。
Web服务返回的每个对象都贡献了一个更高级别的对象,然后用于构建结果页面。首先,我们将所有对象收集到主对象中并缓存它。然而,我们意识到当事情没有我们想要的那么快时,单独缓存每个被调用对象会更有意义,这样它就可以在客户端看到的下一页上重复使用。
答案 3 :(得分:0)
不幸的是,没有预先建立的规则......但是为了给你一个常识,我会说你可以轻松缓存:
你不应该缓存的内容:
对于缓存持续时间,我倾向于使用不同的持续时间,具体取决于数据类型及其大小。应用程序参数可以缓存几个小时甚至几天。
对于某些商业数据,您可能希望缓存持续时间较短(几分钟到1小时)
最后一件事总是要挑战你操纵的数据量。请记住,最终用户不会同时阅读数千条记录。
希望这会给你一些指导。
答案 4 :(得分:0)
很难概括这类事情。唯一要遵循的硬性规则是不要浪费时间优化某些事情,除非你知道需要完成。然后,正确的行动方式将非常依赖于您的应用程序的细节。
那说......我几乎总是将一些易用的对象缓存全局应用程序参数。这当然更多的是编程方便而不是优化。
有一次我编写了特定的数据缓存代码,用于与非常慢的会计数据库连接的应用程序,然后它对于不经常更改的数据是只读的。所有的写入都归到了DB。使用SQL Server,我从来没有遇到内置的ASP.NET-to-SQL Server接口是这个等式的缓慢部分的情况。