Задать вопрос
turron
@turron

Как скрыть просмотренные посты?

Есть сайт с постами, а точней лентой с картинками, должна быть опция "скрыть просмотренные" навсегда

Очень быстро на каждого пользователя набирается тысячи, потом сотни тысяч постов, как их исключить из выборки при этом не нагрузив сервер?
  • Вопрос задан
  • 285 просмотров
Подписаться 2 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
  • Академия Эдюсон
    FullStack-разработчик: тариф PRO
    14 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
visible = 0
Ответ написан
Комментировать
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Нет никакой волшебной пули. Если есть такая задача, то только хранить списки просмотренных постов по каждому пользователю вида user_id, post_id
И при построении ленты соотв-но исключать из выборки то что "не нужно" или через JOIN или через подзапрос вида NOT IN (...)
В данном случае грамотные индексы и наличие достаточного кол-ва RAM на сервер должны решать большинство проблем производительности.
Так же, возможно, сейчас разговор о преждевременной оптимизации, так как действительно ли будут сотни тысяч постов которые просмотрит один пользователь? Ведь это колоссальный объём который кто-то ещё должен запостить.
Как вариант оптимизации, на будущее, можно историю "просмотренных постов" подчищать, удаляя там записи старее такой-то даты или чистить по кол-ву.
То есть хранить историю просмотров "за месяц" или хранить последние 1000-10000 просмотренных постов каждым пользователем, что уже не такие большие числа.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы