Ответ 1
- Лак находится перед веб-сервером; он работает как обратный http-прокси, который кэширует.
- Вы можете использовать оба.
- В основном писать - лак должен будет пострадать от постраничных страниц. Это приведет к накладным расходам и небольшим преимуществам для измененных страниц.
- В основном прочитано - Varnish, вероятно, покрывает большую часть этого.
- Подобное чтение и запись - Varnish будет обслуживать много страниц для вас, Memcache предоставит информацию для страниц, на которых есть смесь известных и новых данных, позволяющих быстрее генерировать страницы.
Пример, который может применяться к stackoverflow.com: добавление этого комментария недействило кеш страницы, поэтому эту страницу нужно будет очистить от Varnish (а также мою страницу профиля, которая, вероятно, не стоит кэшировать для начала). для аннулирования всех затронутых страниц может быть проблемой). Все комментарии, однако, все еще находятся в Memcache, поэтому базе данных нужно написать этот комментарий. Для создания страницы ничего не нужно делать с помощью базы данных. Все комментарии вытаскиваются Memcache, и страница перехватывается, пока кто-то не влияет на нее снова (возможно, путем голосования моего ответа). Опять же, база данных записывает голосование, все остальные данные извлекаются из Memcache, а жизнь - быстро.
Memcache сохраняет вашу БД от выполнения большой работы по чтению, Varnish сохраняет ваш динамический веб-сервер из загрузки процессора, заставляя вас генерировать страницы реже (а также облегчает загрузку db, если не для Memcache).