레일 스택에 의해 렌더링되지만 자주 변경되지 않는 웹 애플리케이션의 전체 페이지 (수천 페이지)를 캐싱하고 싶습니다. 각 렌더링은 리소스면에서 상당히 비쌉니다.Varnishd는 Rails와 함께 사용할 올바른 캐싱 솔루션입니까?
Varnishd의 작동 방식을 이해하면 Varnishd는 캐시 저장소를 확인하고 미스가 발생하므로 요청이 생성되어 Rails와 결과 페이지로 전달됩니다 그런 다음 Varnishd 캐시에 추가됩니다.
이후에 해당 URL에 대해 호출 한 다음 Varnishd 캐시에서 제공 한 경우 Rails 스택은 관련되지 않습니다.
정확합니까?
캐시 저장소의 변경 사항을 반영하여 특정 페이지가 &으로 업데이트되면 내 앱이 Varnishd에게 어떻게 알릴 수 있습니까?
Varnishd는 이러한 목적에 적합한 선택입니까?
도움을 주셔서 감사합니다. 저는 이것이 매우 기본적인 질문이라는 것을 알고 있지만, 의사는 분명히이 사실을 (적어도 저에게) 밝히지는 않습니다. http://www.mnot.net/cache_docs/
당신이 당신의 HTTP 응답에 만료 시간을 지정해야합니다 캐싱과 역방향 프록시를 사용하려면 :
맞음, 바니시는 HTTP 캐시가 있고 HTTP 캐시에 최적화 된 HTTP 역방향 프록시입니다. Heroku를 시도했다면, 당신은 Varnish를 시도했습니다. – yfeldblum
대부분의 역방향 프록시는 실제로 새 콘텐츠를 사용할 수 있음을 캐시에 알려주는 방법을 제공하지만 플러시 할 서버를 알 고 신호를 보낼 수있는 방법을 구성해야합니다. Varnish에는 응용 프로그램 또는 수동으로 연결할 수있는 관리 인터페이스 인 제어 채널이 있으므로 어떤 서버를 플러시 할 것인지 알면 매우 쉽게 수행 할 수 있습니다. –