2009-07-08 2 views
3

웹 응용 프로그램에서 데이터를 캐싱 할 때 슬라이딩 만료를 사용하는 이유에 대한 좋은 설명을 찾고 있습니다. 절대 만료를 사용하여 항상 콘텐츠를 캐시하여 데이터를 강제로 새로 고쳐야하는 것처럼 보입니다. 슬라이딩 만료로 인해 데이터가 무기한으로 캐시 될 위험이 있습니다. 정적 데이터 캐싱에만 유용합니까? 슬라이딩 만료가 유용한 일반적인 장면은 무엇입니까? 감사.ASP.NET 캐싱과 관련하여 만료 만료의 목적 또는 이유는 무엇입니까?

답변

1

예 데이터는 무기한으로 캐시 될 수 있습니다. 정적 인 경우에만 말이 맞습니다.

시간이 많이 걸리는 경우 유용 할 수있는 값 비싼 데이터 (예 : 계산, 검색 등)가있을 때 유용합니다. 그러나 대부분의 액세스는 서로 가깝습니다.

가상의 예는 많은 기업 고객을 관리하는 회계 법인에서 사용할 세금 시간 신청서를 작성할 수 있다는 것입니다. 이 신청서는 세무 부서에서 회사에 대한 세부 정보를 제공해야합니다. 한 회사에 대한 모든 행동이 같은 시간에 이루어지기 때문에 (즉, 모든 직원에 대한 지불 전표 생성), 이러한 세부 사항을 한 번 다운로드하고 미끄러지는 유효 기간 만 남겨두면 오래 걸릴 것입니다 당신이 아직 그 회사와 일하고 있기 때문에 알 수없는 시간입니다. 메모리가 부족한 경우주의 깊게 캐시를 업데이트 구현하는 경우 표준 캐싱 규칙이 여전히 적용 물론

는, 캐시 된 데이터가 만료 슬라이딩하는 것은 의미가 등

2

무기를 보관할 수있는 충분한 메모리가있는 경우에만 무기한으로 캐시해도 괜찮을 수도 있습니다.

2

삭제 될 수 있습니다. 캐시 된 데이터를 지속적으로 사용하는 한 시스템은 메모리에 데이터를 유지하려고 시도합니다 (메모리 가압 및 기타 요인에 따라 실제로는 가용성이 만료되지 않더라도 보장되지 않습니다).

어떤 종류의 업데이트가 발생하면 무효화하는 데주의를 기울이면 데이터가 무기한 캐시 될 위험이 없습니다. 정적 인 데이터를 캐싱하는 것은 실제로는 정적이 아닌 많은 양의 데이터를 캐시 할 때 많은 시나리오가 있기 때문에 의미가 없습니다. 나는 항목의 업데이트 사이에 통계적으로 3 개의 요청을 가져올 수 있다고 말하고 싶다면 해당 항목을 캐시하면 perf에서 얻을 수 있습니다.