@Alk90
php, mysql, jquery, css, html, api

Потерял смысл кеширования. Как кешировать данные для разных пользователей?

Всем привет! Подскажите как решить такую проблему...
Решил кешировать данные для ленты новостей... Но тут проблема... в каждой новости можно поставить лайк, а значит для того чтобы подсветить пользователю другим цветом те новости, к которым он лайк поставил - нужно получать данные о лайках в запросе к БД вместе с данными о новостях....
Получается, если закешировать на выходе полученный список новостей - следующий пользователь будет видть не свои лайки, а чужие...
Выходит что в такой ситуации кеш бессмысленнен, или есть способы обойти эту проблему?
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ответы на вопрос 1
xzdshr
@xzdshr
  1. Получение данных из БД
  2. Подготовка результирующего массива
  3. Кеширование результата
  4. Получение лайкнутых пользователем новостей
  5. Добавление флага is_liked элементам результирующего массива
  6. Отрисовка


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

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
от 70 000 до 120 000 руб.
от 60 000 до 90 000 руб.
ИА «Кельник» Санкт-Петербург
от 50 000 до 70 000 руб.
16 авг. 2018, в 09:18
30000 руб./за проект
16 авг. 2018, в 08:17
600 руб./в час
15 авг. 2018, в 23:38
300 руб./за проект