- O verniz está na frente do servidor da web; ele funciona como um proxy http reverso que armazena em cache.
- Você pode usar ambos.
- Principalmente gravação - o verniz precisará remover as páginas afetadas. Isso resultará em uma sobrecarga e poucos benefícios para as páginas modificadas.
- Principalmente lido - o verniz provavelmente cobrirá a maior parte.
- Leitura e gravação semelhantes - o Varnish fornecerá muitas páginas para você, o Memcache fornecerá informações para páginas que possuem uma mistura de dados novos e conhecidos, permitindo gerar páginas mais rapidamente.
Um exemplo que poderia se aplicar a stackoverflow.com: adicionar este comentário invalidou o cache da página, então esta página teria que ser limpa do Varnish (e também da minha página de perfil, o que provavelmente não vale a pena para começar. Lembrando de invalidar tudo páginas afetadas podem ser um pouco problemáticas). Todos os comentários, no entanto, ainda estão no Memcache, portanto, o banco de dados precisa apenas escrever este comentário. Nada mais precisa ser feito pelo banco de dados para gerar a página. Todos os comentários são puxados pelo Memcache e a página é armazenada novamente em cache até que alguém a afete novamente (talvez votando minha resposta). Novamente, o banco de dados grava o voto, todos os outros dados são extraídos do Memcache e a vida é rápida.
O Memcache evita que seu banco de dados faça muito trabalho de leitura, o Varnish economiza seu servidor da web dinâmico da carga da CPU, fazendo com que você gere páginas com menos frequência (e torna a carga do banco de dados um pouco mais leve, se não for para o Memcache).