Кеширование текущих пользовательских страниц

StackOverflow https://stackoverflow.com/questions/1411328

  •  05-07-2019
  •  | 
  •  

Вопрос

Мы используем шаблоны Smarty на нашем сайте LAMP, но мой вопрос также относится к сайту, на котором работает Memcached (который мы планируем также разместить в сети). Многие из страниц нашего сайта, созданного пользователями, имеют разные взгляды в зависимости от того, кто на них смотрит. Например, список комментариев, где выделены ваши собственные комментарии. Для каждого конкретного пользователя должен быть уникальный кеш-идентификатор для каждого вошедшего в систему пользователя. Мой вопрос, в этом сценарии, вы бы даже не кэшировали эти представления? Или издержки при создании / использовании кэша (для smarty или memcached) настолько малы, что вы все равно увидите какую-то выгоду для кэша?

Это было полезно?

Решение

Если отдельные пользователи не будут запрашивать страницы снова и снова, нет смысла кэшировать подобные вещи, и я ожидаю, что издержки кэширования значительно превысят выигрыш в производительности, просто потому что коэффициент попадания в кэш будет низким.

Возможно, вам лучше изучить фрагменты кэширования вашего сайта, которые не зависят от конкретного пользователя, или фрагменты, которые будут одинаковыми для большого количества показов страницы (например, контент, который одинаков для большого подмножества ваши пользователи).

Например, на этой странице вы можете кэшировать список связанных вопросов или информацию о тегах, но, вероятно, нет смысла кэшировать верхнюю строку с информацией о репутации слишком агрессивно, поскольку она будет запрашиваться относительно редко.

Другие советы

Если код представления не слишком сложен, просто кэшируйте данные и генерируйте представление каждый раз.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top