레일-etags 대페이지를 캐싱하(파일 캐시)
-
06-07-2019 - |
문제
어떤 것의 몇 가지 이점을 사용하여 etags/오래된?/fresh_when?대신 페이지를 캐싱하(파일에 캐시)?
아파치를 자동으로 처리 etags 에 대한 정적 파일을,하지만 그렇지 않다면,페이지를 캐싱 여전히 하는 것이기 때문에 레일이 있는지라.
그래서,어떤 것 인스턴스를 사용한 방법에 의해 제공됩 레일(오래된?/fresh_when?)?
해결책
그들은 정말로 무료로 제공됩니다.Etags/fresh_when etc.도움 당신은 좋은 플레이와 함께 다운스트림 캐시(처럼 당신의 자신의 니스/오징어 인스턴스 또는 랙::나 캐시 브라우저 캐시 또는 ISP 프록시 서버...)
페이지가 캐시에 저장을 명중에서 당신의 레일 스택이 완전히기 때문에 아파치는/웹서버의 파일을 제공,그래서 DB 조회를 한다.그러나 거래를 할 수 있 캐시 만료일을 계속 캐시한다.
사용 etags/조건을 얻을,당신은하지 않는 저장 많은 처리 시간 때문에 당신은 여전히 필요로하는 모든 레코드에서 사용되는 페이지:
def show
@article = Article.find(params[:id])
@feature = Feature.current
fresh_when :etag => [@article, @feature]
end
는 경우에는 사용자가 현재 페이지에 저장 당신이 몇 가지 렌더링 시간과 데 필요한 대역폭을 보내 페이지를 아래로.
다른 팁
다른 사용하는 나에게 발생하였할 수 있는 프로세스는 여전히 몇 가지 정보시키기 전에 레일이 손으로"304 수정하지 않"헤더가 있습니다.다음과 같 기록하려는 경우 히 페이지.
하나는 것은 마음입 fresh_when
는 여전히 당신이 연출한 경우에도 삭제 전체 페이지가 캐시입니다.여기서 당신은 것을 사용하여 동시에 둘 다.
지 궁금하기도 해요 다른 답변뿐만 아니라.