我一直在阅读这个主题,但我很想知道优化ASP.NET缓存使用的最佳方法是什么,以及如何确定应该和不应该使用的内容的一些提示进入缓存.此外,是否有任何经验法则可用于确定缓存中应该说多长时间? 最佳答案 一些经验法则
>每次考虑使用缓存时,请考虑缓存未命中请求率.如果该项目的缓存请求将在大多数时间内丢失,那么收益可能不会超过维护该缓存项目的成本
>考虑查询费用与缓存检索费用(例如,对于简单读取,由于序列化成本,SQL Server通常比分布式缓存更快)
一些技巧
>在将它们粘贴到缓存中之前gzip字符串.有效扩展缓存并减少分布式缓存情况下的网络流量
>如果您担心缓存聚合(例如计数)需要多长时间,请考虑使用非过期(或长期)缓存聚合,并在更改基础数据时主动更新这些聚合.这是一种有争议的技术,您应该在继续之前考虑您的请求/失效率,但在某些情况下,这些好处是值得的(例如,根据实施细节,每个用户的SO代表可能是一个好的候选人,未解答的SO问题的数量会可能是一个穷人候选人)