0

캐싱 및 모든 리소스를 읽을 수 있지만 응용 프로그램에서 Memcachier와 같은 타사 추가 기능을 사용해야하는지 잘 모르겠습니다. 첫 페이지 (홈페이지, 정보, 연락처, 약관, 개인 정보 보호와 같은 정적 페이지) 이외의 다른 모든 페이지는 인증을 필요로하며 모두 동적으로 생성됩니다. 소셜 네트워킹 앱이므로 쇼 페이지, 색인 페이지, 편집 페이지가 모두 동적으로 생성됩니다. 색인 작업은 지속적으로 업데이트 될 예정입니다.레일스는 정적 페이지와 자산을 자동으로 캐시합니까?

레일스가 css, javascript, images와 같은 정적 페이지와 애셋을 자동으로 캐시하는지 알고 싶습니다. 어떤 종류의 캐싱을 사용해야합니까?

답변

3

당신이 당신의 public 폴더에있는 HTML 파일, 그들은 직접 웹 서버에 의해 제공됩니다되는 정적 페이지라고 부르는 경우 (예 : 아파치), 심지어 레일을 통과하지 않는 요청

이러한 경우 파일을 사용자의 app/views 컨트롤러에 저장하면 요청은 레일스를 거치므로 페이지 또는 조각 캐싱을 구현하는 것이 좋습니다. 페이지의 일부분 만 캐시 할 수 있다는 것을 알고 조각화 캐싱이라고하며 정적 인 부분이있는 동적 페이지에 유용합니다.

또한 캐시를 레코드에 연결할 수 있으므로 처음에는이 레코드와 관련된보기가 표시되고 캐시가 생성되어 다음 요청에 사용됩니다. 그런 다음이 레코드를 수정하면 캐시가 무효화되고 프로세스가 다시 시작됩니다.

자산에 대한 캐시가 필요하지 않으며 프로덕션 환경에서 컴파일되고 더 이상 Rails로 해석되지 않습니다.

캐싱에 대한 많은 것들이 있습니다. 응용 프로그램에 많은 장점을 줄 수 있습니다 (또는 많은 잘못된 기능이 잘못 사용되었습니다). 나는 그것을 모두 다 커버 할 수는 없지만,

http://railscasts.com/episodes/387-cache-digests

http://railscasts.com/episodes/169-dynamic-page-caching

http://railscasts.com/episodes/93-action-caching

http://railscasts.com/episodes/90-fragment-caching

,691 : 당신에게 많은 것을 가르쳐

http://railscasts.com/episodes/89-page-caching

관련 문제