- Varnish는 웹 서버 앞에 있습니다. 캐시하는 역방향 http 프록시로 작동합니다.
- 둘 다 사용할 수 있습니다.
- 대부분 쓰기-Varnish는 영향을받은 페이지를 제거해야합니다. 이로 인해 오버 헤드가 발생하고 수정 된 페이지에 대한 이점이 거의 없습니다.
- 대부분 읽기-Varnish가 대부분을 다룰 것입니다.
- 유사한 읽기 및 쓰기-Varnish는 많은 페이지를 제공하고 Memcache는 알려진 데이터와 새로운 데이터가 혼합 된 페이지에 대한 정보를 제공하여 페이지를 더 빠르게 생성 할 수 있습니다.
stackoverflow.com에 적용 할 수있는 예 :이 주석을 추가하면 페이지 캐시가 무효화되었으므로이 페이지는 Varnish (그리고 처음에는 캐싱 할 가치가없는 내 프로필 페이지에서도 지워야합니다. 모두 무효화해야 함) 영향을받는 페이지는 약간의 문제 일 수 있습니다.) 그러나 모든 주석은 여전히 Memcache에 있으므로 데이터베이스는이 주석 만 작성하면됩니다. 페이지를 생성하기 위해 데이터베이스에서 다른 작업을 수행 할 필요가 없습니다. 모든 댓글은 Memcache에서 가져오고 누군가가 다시 영향을 줄 때까지 페이지가 다시 캐시됩니다 (아마도 내 답변에 투표함). 다시 말하지만 데이터베이스는 투표를 작성하고 다른 모든 데이터는 Memcache에서 가져 오며 수명이 빠릅니다.
Memcache는 많은 읽기 작업에서 DB를 저장하고 Varnish는 페이지 생성 빈도를 줄임으로써 CPU 부하에서 동적 웹 서버를 저장합니다 (Memcache가 아니라면 db 부하도 약간 감소).