Link: http://msdn.microsoft.com/en-us/library/ee817646.aspx
Performance. Caching techniques are commonly used to improve application performance by storing relevant data as close to the data consumer as possible, avoiding the re-creation, processing, and transportation of data. For example, storing data that does not change, such as a list of countries in the cache, can improve performance by minimizing data access operations and eliminating the need to recreate the same data for each request.
Scalability. The same data, business functionality, and user interface fragments are often required by many users and processes in the application. If this information is processed for each request, valuable resources are lost, recreating the same result. Instead, you can store the results in a cache and reuse them for each query. This improves the scalability of your application, because as the user base grows, the demand for server resources for these tasks remains constant. For example, in a web application, the web server should display a user interface for each user request. You can cache the displayed page in the ASP.NET output cache, which will be used for future requests, freeing up resources for other uses.
Caching data can also help scale the resources of your database server. By storing frequently used data in the cache, fewer database queries are performed, which means that more users can be served.
Availability. Sometimes the services that provide information to your application may not be available. By storing this data elsewhere, your application will be able to survive system crashes such as network latency, web service issues, or hardware crashes. For example, every time a user requests information from your data warehouse, you can return information, as well as cache the results, updating the cache for each request. If the data warehouse becomes unavailable, you can still serve requests using cached data until the data warehouse returns to the network.
Amrish prajapati
source share