한 가지 방법은 지정된 시간 동안 렌더링 된 뷰를 캐시하는 것입니다.
자주 업데이트되지 않는 페이지가 있다고 가정 해 보겠습니다. 따라서 방문 할 때마다 데이터베이스를 방문하는 대신 렌더링 된 뷰를 캐시에 저장할 수 있습니다. OutputCaching - http://www.asp.net/mvc/tutorials/improving-performance-with-output-caching-cs을 사용하면이 작업을 수행 할 수 있습니다.
또 다른 방법으로는 데이터를 저장할 수 있습니다.
여기 다시 지정된 시간 동안 캐시 할 수 있습니다. ASP.NET (MVC)에서는 캐시 객체 인 http://msdn.microsoft.com/en-us/library/aa478965.aspx을 사용하여이를 수행 할 수 있습니다. 캐시 개체 캐시 개체를 캐시에 넣을 때 데이터를 캐시 할 기간을 지정해줍니다. 예 :
Cache.Insert("key",
myTimeSensitiveData,
null,
DateTime.Now.AddMinutes(1),
TimeSpan.Zero);
또는 '무효화'될 때까지 캐시 할 수 있습니다.
GetCustomers 및 UpdateCustomer 메서드가 있다고 가정 해보십시오. GetCustomers에서 데이터가 캐시에 있는지 확인합니다. 그렇지 않으면 데이터베이스에 충돌하여 캐시에 넣고 반환하십시오. 누군가가 UpdateCustomer를 호출 할 때까지 캐시에 있습니다. 이 방법에서는 수정 된 고객을 데이터베이스에 쓰고 캐시에 저장된 데이터를 무효화합니다. 그냥 제거 할 수 있습니다. 그런 식으로 GetCustomers를 다시 호출하면 데이터베이스에 도달하여 Cache를 다시 채 웁니다. 그러나 Cache는 전역 범위를 가지며 동시에 많은 스레드에서 액세스 할 수 있습니다. 캐시에 액세스하려면 일부 동기화 코드가 필요합니다.