Ответы пользователя по тегу Highload
  • Как лучше работать с пользовательскими лайками?

    ur001
    @ur001
    Программист. Искатель. Сноб. Социальный ассоциатор
    Если на каждый лайк делать по запросу, выйдет тяжело. Тяжелее чем то же самое сразу на сервере.
    Мне не удалось придумать адекватную систему кеширования для подобных элементов. На Хабре и других высоконагруженных проектах делаются запросы типа

    SELECT ... FROM votes WHERE user_id=<id> AND object_id IN(...)
    

    Один запрос на все лайки одного типа. N запросов, если на странице N типов объектов.

    Можно попробовать хранить (или дублировать) голоса в NoSQL, например в Redis с ключами типа «post_{post_id}_{user_id}» и вытаскивать их одним запросом mget… Но вы сначала запуститесь, и поймите что именно получение голосов у вас является узким местом, а потом городите такие штуки.
    Ответ написан