我一直在阅读有关此主题的内容,但我很好奇优化 ASP.NET 缓存的使用的最佳方法是什么,以及关于如何确定应该做什么的一些技巧并且不应该进入缓存。另外,是否有任何经验法则来确定某些内容应该在缓存中保存多长时间?
最佳答案
一些经验法则
- 每次考虑使用缓存时,请考虑缓存未命中与请求的比率。如果该项目的缓存请求大部分时间都会丢失,那么好处可能不会超过维护该缓存项目的成本
- 考虑查询费用与缓存检索费用(例如,对于简单读取,由于序列化成本,SQL Server 通常比分布式缓存更快)
一些技巧
- gzip 字符串,然后将其粘贴到缓存中。有效扩展缓存,减少分布式缓存情况下的网络流量
- 如果您担心缓存聚合(例如计数)需要多长时间,请考虑使用未过期(或长期存在)的缓存聚合,并在更改基础数据时主动更新这些聚合。这是一项有争议的技术,在继续之前您应该真正考虑您的请求/无效比率,但在某些情况下,好处可能是值得的(例如,每个用户的 SO 代表可能是一个很好的候选者,具体取决于实现细节,未回答的 SO 问题的数量将可能是一个糟糕的候选人)
关于asp.net - 有哪些方法可以优化 ASP.NET 缓存的使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/594876/