Size: a a a

NestJS — русскоязычное сообщество

2020 April 20

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Переслано от Veaceslav Artiom
Все привет, ребят я тут такой прикол встретил. Есть у меня значит метод который отдает один пост и при отдачи, делает запись в базу о том что такой-то пост был просмотрен, короче viewsCount но тут прикол в том что как только я врубил CacheModule я понял что мой то запросы до метода не доходят ... И получается что инкримента нету.
Вопрос: Чего делать то ? Я только одно придумал, вырубить кэш и делать свою логику работы с этим кэшем.
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Veaceslav Artiom
Переслано от Veaceslav Artiom
Все привет, ребят я тут такой прикол встретил. Есть у меня значит метод который отдает один пост и при отдачи, делает запись в базу о том что такой-то пост был просмотрен, короче viewsCount но тут прикол в том что как только я врубил CacheModule я понял что мой то запросы до метода не доходят ... И получается что инкримента нету.
Вопрос: Чего делать то ? Я только одно придумал, вырубить кэш и делать свою логику работы с этим кэшем.
Использовать вручную кеш только для данных из БД, а не целиком роут.

Это GET роут у тебя?
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
Использовать вручную кеш только для данных из БД, а не целиком роут.

Это GET роут у тебя?
Да. Но сам икримент делаю в сервисе в методе который и отдает запись.
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Veaceslav Artiom
Да. Но сам икримент делаю в сервисе в методе который и отдает запись.
Я может ошибаюсь, но вроде GET запросы должны подразумевать, что они не меняют состояние
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
Я может ошибаюсь, но вроде GET запросы должны подразумевать, что они не меняют состояние
Ты то прав. Но простая запись того что за данными обратили, я не думаю что страшна. Да и где еще делать эту запись ? Не просить же фронт после получения слать еще и пост. Плюс у меня эти данные по поводу Views в отдельной таблице и оригинал данных не трогают вообще. Каждая запись просмотра документа у меня просто ссылается по id на пост.
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Veaceslav Artiom
Ты то прав. Но простая запись того что за данными обратили, я не думаю что страшна. Да и где еще делать эту запись ? Не просить же фронт после получения слать еще и пост. Плюс у меня эти данные по поводу Views в отдельной таблице и оригинал данных не трогают вообще. Каждая запись просмотра документа у меня просто ссылается по id на пост.
Ну я предложил кешировать только данные, а не весь роут, если так можно)
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
И тригерриться на обращение к ноуту и отдельно фиксировать просмотры
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
Ну я предложил кешировать только данные, а не весь роут, если так можно)
Та вот это я и делаю сейчас, пилю сервис для кэширования, отдам данные поста и потом уже запишу уже что есть новый просмотр
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Больше сервисов богу сервисов
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
Больше сервисов богу сервисов
Ну а как по другому ?
источник

S

Sviatoslav in NestJS — русскоязычное сообщество
Veaceslav Artiom
Та вот это я и делаю сейчас, пилю сервис для кэширования, отдам данные поста и потом уже запишу уже что есть новый просмотр
А посты вообще без комментов без лайков с диманики только просмотры?
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Sviatoslav
А посты вообще без комментов без лайков с диманики только просмотры?
Со всем выше перечисленным и даже больше.
источник

S

Sviatoslav in NestJS — русскоязычное сообщество
Veaceslav Artiom
Со всем выше перечисленным и даже больше.
Просто странно что ты только сейчас с этим столкнулся)
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Sviatoslav
Просто странно что ты только сейчас с этим столкнулся)
Нее, до этого тоже было, но можно было как-бы показывать там комменты с задержкой в 5мин или что-то такое. Но вот когда я сделал просмотры и понял что они у меня не летят в базу и понял что что-то у меня не так работает.
источник

S

Sviatoslav in NestJS — русскоязычное сообщество
Veaceslav Artiom
Нее, до этого тоже было, но можно было как-бы показывать там комменты с задержкой в 5мин или что-то такое. Но вот когда я сделал просмотры и понял что они у меня не летят в базу и понял что что-то у меня не так работает.
с задержкой в 5 мин в то время когда все делают комменты через вебсокет)
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Sviatoslav
с задержкой в 5 мин в то время когда все делают комменты через вебсокет)
Нуууу блин, когда нужно я понимаю, а когда один коммент в месяц чет как-то не очень идея согласись. Зависит очень от задачи.
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
А кто-то тут делал вообще такое с кэшированием и записью просмотров ? Я чет сейчас запустил тестирование нагрузки и понял что толку что я отдаю из кэша, мне же нужно на каждый запрос еще писать в базу инфу о просмотре ...
источник

nv

nikv vnik in NestJS — русскоязычное сообщество
Veaceslav Artiom
Нуууу блин, когда нужно я понимаю, а когда один коммент в месяц чет как-то не очень идея согласись. Зависит очень от задачи.
если у тебя 1 коммент в месяц, предполагаю что у тебя не милион просмотров, зачем тебе вообще кэшировать это
источник

S

Sviatoslav in NestJS — русскоязычное сообщество
Veaceslav Artiom
А кто-то тут делал вообще такое с кэшированием и записью просмотров ? Я чет сейчас запустил тестирование нагрузки и понял что толку что я отдаю из кэша, мне же нужно на каждый запрос еще писать в базу инфу о просмотре ...
Ну ты же отдельный таблицу под просмотры сделал? Или прям в таблицу поста пишешь? Можно записывать плюс в редисе инкрементить
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Sviatoslav
Ну ты же отдельный таблицу под просмотры сделал? Или прям в таблицу поста пишешь? Можно записывать плюс в редисе инкрементить
Отдельная таблица есть. Редис вроде как не подойдет, может данные потерять.
источник