Next.js 14 App Router #9 - Кэширование

Поделиться
HTML-код
  • Опубликовано: 20 янв 2025

Комментарии • 26

  • @КостяХимера
    @КостяХимера 10 месяцев назад +1

    Дякую, дуже доступно все пояснили, виправив помилки які були в проекті завдяки Вашому відео

  • @Light-tx6kz
    @Light-tx6kz 3 месяца назад

    Огромное спасибо за понятную подачу материала, и жирный лайк.

  • @rorrianmyrrr3744
    @rorrianmyrrr3744 10 месяцев назад

    Большое спасибо за отличную подачу и подробное объяснение сложной темы, очень качественный и полезный контент!

  • @imthebest8000
    @imthebest8000 10 месяцев назад

    Отличный канал, просто находка 👍

  • @h.alexandr5301
    @h.alexandr5301 Год назад +1

    Привет. Отличное видео, спасибо за труды и адекватное объяснение все информации.

  • @castiliOR
    @castiliOR 9 месяцев назад +1

    Мне бы твоё спокойствие братишка. Спасибо за урок

  • @kakieToYroki
    @kakieToYroki Год назад

    Просто коммент, для продвижения контента. Спасибо, было познавательно 🙃

  • @DenInside
    @DenInside Год назад

    Отличное видео и классные примеры!

  • @АлександрСергеевич-и4ы
    @АлександрСергеевич-и4ы 5 месяцев назад

    Огромное спасибо. Можно сказать что весь APP ROUTER тут))) суть...

  • @CTILET
    @CTILET 10 месяцев назад

    Ты супер

  • @kkkotiqqq
    @kkkotiqqq Год назад +3

    Привет, спасибо большое за видео, очень полезно
    запиши или напиши пожалуйста список твоих расширений для VScode)

  • @---Maksim---
    @---Maksim--- Год назад

    Коротко о кешировании в Next: Router cache -> SSG cache -> Request cache -> SSR cache

  • @trendsgallery
    @trendsgallery Год назад +1

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

  • @tontontonic
    @tontontonic 9 месяцев назад +2

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

    • @кафввкарелина
      @кафввкарелина 3 месяца назад +1

      По истичении времени кеш обозначается как неактуальный, но пересборки не происходит
      После того как первый юзер запросит неактуальный кеш, сервер ему отдаст старую версию в целях быстродействия, а сервер в это время запустит пересборку в фоновом режиме
      Т.е. юзер все еще получает старую версию
      Дальше все зависит от того насколько быстро сервер пересобрал страницу, если он успел то второй юзер получит новую версию(скорее всего так и будет)
      Это можно обойти если искуственно запросить переборку роута(не то же самое что ревалидация) с сервера
      в таком случае выходит что кеш обозначен как неактуальный, улетел запрос на пересборку, и первый юзер получит уже актуальную версию)
      так же тут может быть подвох в самом router chache так как браузер уже закеширует страницу(и не важно что дальше произойдет на сервере) и следовательно она не сможет обновиться в реальном времени

    • @kkkkk-wx4fu
      @kkkkk-wx4fu 3 месяца назад

      @@кафввкарелина А какие варианты это обойти

  • @director8414
    @director8414 11 месяцев назад

    Спасибо за ваши уроки!
    Вы говорите что “когда мы первый раз запрашиваем, они закешируются и потом при последующих запросах из других компонентов, ф-ция запроса выполнятся не будет”. В документации говорится “После визуализации маршрута и завершения этапа рендеринга память «сбрасывается», и все записи запоминания запросов очищаются.” Я так понимаю, после того, как страница (маршрут) полностью отрендерена и пользователь видит конечный результат на своем экране, вся информация, которая была временно сохранена (закэширована) для ускорения этого процесса рендеринга, удаляется из памяти.
    Вопрос у меня такой: Если кеш очищается в одном компоненте после рендеринга всего компонента, то в другом компоненте если мы сделаем запрос с одним и тем же URL и с одними и теми же параметрами, выходит так что кеш у нас будет пустым, и ф-ция запроса будет выполняться. Но вы говорили что “ф-ция запроса не будет выполняться”. Не понятно просто

  • @АлексейДромов
    @АлексейДромов 6 месяцев назад

    Возможно что-то изменилось за прошедшее время с router-cache, но если мы изменим данные на сервере, то на клиенте они обновятся через 25 секунд без обновления страницы, но пользователю нужно будет перейти по ссылкам (запросы будут идти заново). Если мы обновляем страницу, то эти данные обновятся мгновенно - получается SSR. Если не обновляем страницу, а переходим по ссылкам , то через 25 секунд на клиенте произойдут повторные запросы на сервер - своеобразный ISR на стороне клиента.

  • @Integrations1Cv8
    @Integrations1Cv8 Год назад +1

    Смотреть Ваши одно удовольствие. Спасибо.
    По Suspenze можете записать видео и по env - переменным, пробовал, смотрел видео, делал по документации - все равно не видит.

    • @Integrations1Cv8
      @Integrations1Cv8 Год назад +1

      env файл перенёс в родительскую папку, заработало.
      Suspenze - нашёл пример в документации, делается так же как и в React

  • @vladimirbavtenko9080
    @vladimirbavtenko9080 10 месяцев назад

    Спасибо автору за понятное экспертное объяснение! Давно искал эксперта по Next, который умеет доходчиво объяснять. У меня есть запрос на индивидуальные консультации по Next, автор напиши пожалуйста контакт, куда можно тебе написать.

  • @iq240-1
    @iq240-1 Год назад

    Спс

  • @iscars
    @iscars Год назад

    Привет, отличный материал. Можешь подсказать по паре вопросов. 1. Я использую react-query в связке с axios. next revalidate будет работать в options axios? 2. Какие есть способы рантайм обновления next build, когда в базе данных через админку что-то меняется?

    • @easydev1205
      @easydev1205  11 месяцев назад

      1. Если не fetch, то можно отдельно добавить
      export const revalidate = 3600
      nextjs.org/docs/app/building-your-application/data-fetching/fetching-caching-and-revalidating#time-based-revalidation
      2. Можно сделать ревалидацию по url или по тэгу
      nextjs.org/docs/app/building-your-application/data-fetching/fetching-caching-and-revalidating#on-demand-revalidation

    • @iscars
      @iscars 11 месяцев назад

      @@easydev1205 привет. спасибо, да я уже пришел к этому. только не получилось с react query ревалидацию серверную завести. Там invalidate своей жизнь живет.