2014-11-27 1 views
0

항목 카테고리가있는 메인 페이지가 있습니다. 항목의 범주는 데이터베이스에서옵니다. 그러나 데이터는 자주 변경되지 않습니다. 그래서 내가 원하는 것은 페이지를 캐싱하고 한 달 정도 지나면 데이터가 db에서 오는 새로운 데이터로 업데이트되어야합니다. asp.net에는 출력 캐시와 데이터 캐시가 있습니다.데이터베이스 asp.net에서 데이터가있는 페이지 캐싱

위 기능을 어떻게 얻을 수 있습니까?

나는 페이지를 캐싱에 사용할 수 있습니다

<%@ OutputCache %> 

이 알고있다.

제공하는 모든 정보는 나에게 유용하지만 전문가의 의견을 찾고 있습니다.

주제가 너무 광범위하다는 것을 알고 있지만 매우 유용한 정보이므로 신고해서는 안됩니다.

답변

0

최상의 방법 중 하나는 ASP.NET 출력 캐시 SqlCacheDependency 클래스의 고급 기능을 사용하여 SQL Server에서 직접 출력 캐싱을 수행하는 것입니다.

페이지가 종속 된 데이터가 SQL Server에서 업데이트 될 때까지 서버 작업을 줄이면서 페이지 요청을 캐시하도록 SQL Server와 ASP.NET을 구성 할 수 있습니다. SQL 캐시 종속성은 비교적 정적 인 데이터에 유용합니다.

http://msdn.microsoft.com/en-us/library/e3w8402y(v=vs.100).aspx

당신은 몇 가지 단계를 수행해야합니다,

aspnet_regsql.exe -S <Server> -U <Username> -P <Password> -ed -d Northwind -et -t Employees 

그런 다음 웹 페이지를 구성합니다

첫째, 당신은 SQL 서버와 같은 뭔가를 캐시 알림을 활성화해야합니다 캐싱을 위해 다음과 같이 입력하십시오.

<%@ OutputCache Duration="3600" SqlDependency="Northwind:Employees" VaryByParam="none" %> 

그런 다음 Web.config 파일에 캐싱 세부 정보를 지정해야합니다.

<!-- caching section group --> 
<caching> 
    <sqlCacheDependency enabled = "true" pollTime = "1000" > 
    <databases> 
     <add name="Northwind" 
     connectionStringName="NorthwindConnectionString1" 
     pollTime = "1000" 
     /> 
    </databases> 
    </sqlCacheDependency> 
</caching> 
+0

필요에 따라 OutputCache 지속 시간과 sqlCacheDependency 풀 타임을 늘릴 수 있습니다. – Vaibhav

+0

데이터베이스에서 30 일 동안 데이터를 가져 오지 않으려면 어떤 변경을해야합니까? – fc123

+0

풀 시간을 최대 값 (예 : 24-25 일)으로 늘릴 수 있습니다. Vaibhav