在 asp.net 应用程序中使用缓存的优缺点?

Azh*_*har 2 asp.net caching .net-3.5

在 asp.net 应用程序中使用缓存的优缺点是什么?

Nix*_*Nix 5

答案会因环境和技术而异。

好处

  • 减少 Web 服务/数据库的负载
  • 提高性能
  • 可靠性(假设 db 支持缓存。服务器宕机并且 db 由缓存支持,没有浪费时间来重新填充内存缓存)

缺点

  • 可能会遇到同步缓存的问题
  • 增加维护
  • 可扩展性问题

拥有权利的同时也被赋予了重大的责任 ;)。我们遇到了一个问题,我们决定在分布式应用程序中使用 HttpContext.Cache(坏主意)。在项目的早期,有人认为只是把它扔在那里,直到我们上线,我们才遇到问题。每当涉及缓存时,您都需要着眼于大局。问问自己我们是否有足够的数据、足够的用户或保证实施缓存的性能要求?

如果您回答是,那么您可能需要一个服务器群,因此请明智地选择您的缓存提供商。

尽管如此,Microsoft 有一个新的缓存 API AppFabric/Velocity,您可以利用它以神奇的方式自动处理缓存的分发和同步。

AppFabric 缓存允许您执行超时驱逐,甚至内置通知驱逐,因此当您的数据有机会缓存​​服务器不使用它时,缓存客户端会定期检查服务器并获取需要同步的内容列表。