나는 전자 상거래 사이트를 구축하고 우리가 처리해야 할 요청 및 빈도를 감안할 때, 캐싱을 처음부터 코드베이스. 나는 .net 4의 system.runtime.cache와 system.web.cache에 대해 읽었다. 이러한 클래스는 응용 프로그램 수준에서 캐시를 제공합니다. 또한 outputcacheprovider 인터페이스를 사용하여 자체 커 스톰 공급자를 구현할 수도 있습니다..net 캐시 공급자 클래스를 사용하여 데이터베이스의 웹 서버에서 데이터베이스 쿼리 결과 캐싱
이제는 자주 웹 서버에 서버가 될 수있는 SQL 쿼리의 결과를 캐시하고 실제 db에 대한 왕복을 저장하는 웹 서버 자체에 작은 db 서버를 갖는 것이 더 좋을 것이라고 생각했습니다. 서버 및 DB 액세스.
나는 많은 블로그를 훑어 보았지만 나는 이것에 직접 관련된 것을 찾지 못했습니다. 이제 몇 가지 질문이 있습니다. 1. 자주 사용하는 쿼리를 처리하기 위해 웹 서버에 작은 dbserver를 설치하는 것이 좋습니까? 2. outputcacheprovider를 사용하여 이러한 유형의 캐싱을 구현할 수 있습니까?
또한 캐시하는 위치와 위치를주의해야합니다. asp.net 캐시에 데이터를 삽입하면 앱 도메인의 모든 스레드가 액세스 할 수 있습니다. Asp.net 세션에 데이터를 삽입하면 현재 사용자의 컨텍스트 만 해당 데이터에 액세스 할 수 있습니다. 그래서, 나는 asp.net 캐시에 국가 목록 및 상태 목록 같은 것들을 삽입하고 사용자가 쿼리 결과 또는 asp.net 세션에서 세부 정보 데이터를 실행하면 필요하다면. – Nabheet
@NabheetSandhu는 세션 캐시와 asp.net 캐시 및 이들 사이의 차이점을 사용하는 방법을 제시하는 기사에 대한 링크를 제공 할 수 있습니다. 내가 말했듯이 아직 코딩을 시작하지 않았고 나는 점프하기 전에 모든 것을 마무리하기 만 할뿐입니다. 고마워요. – intoTHEwild
"... 네트워크에 충분한 지연이 있다면 차이가 나는 시간은 ..."반드시 그렇지는 않습니다. 데이터베이스 결과 캐싱 (일명 SQL 종속성 알림)은 데이터베이스 서버에 대한 호출 횟수를 줄여서 SQL 쿼리를 컴파일하고 실행할 필요가 없으므로 두 서버의 CPU 및 I/O로드가 줄어 듭니다. (웹 및 SQL)뿐만 아니라 네트워크 트래픽/병목 현상 및 각 요청을 개체 그래프를 다시 작성합니다. –