In this course we look at caching as a tool to improve your solution's performance and capacity. Using a distributed demo solution, we add caching inside the solution using a simple AOP approach, where you'll learn how to use different caches: the .NET MemoryCache, NCache Express, AppFabric Caching, and memcached. We use some custom caches based on Azure Table Storage and disk shares, and you'll see how to set up ASP.NET Output Caching to use different solution caches. You'll learn how to add caching outside the solution with HTTP response headers so consumers of your website and API can cache solution resources locally, and reduce traffic to your servers. Finally, you'll learn how to analyze items to configure them for maximum cache effectiveness, how to control items in caches, and how to measure the performance improvements you get from caching.