Как кэшировать данные | Теория кэширования - System Design

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

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

  • @vladimir_balun_programming
    @vladimir_balun_programming  Месяц назад +2

    Присоединяйтесь к моему каналу в Телеграм: t.me/vladimir_balun_programming

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

    Подумал что про кэширование на процессоре.

  • @sgrodnik
    @sgrodnik День назад

    Спасибо за супер видос. Вопрос по мру: мне не ясно, как такой кеш не захлебывается. По идее он будет работать так: допустим его ёмкость 100; он заполняется до предела; на 101 элементе он начнет гоняться за своим хвостом - 99 элементов останутся лежать без дела, и только сотый будет обновляться. Видимо я не представляю юзкейс

  • @blaze2671
    @blaze2671 10 месяцев назад +7

    Большое спасибо за видео! А будет ли такое же видео, но про брокеры сообщений? Было бы очень полезно

  • @НикитаСологуб-щ3ц
    @НикитаСологуб-щ3ц 6 месяцев назад +1

    Благодарю за материал! Это был максимально полезный стрим (хоть и смотрю его в записи)!
    У меня лишь небольшое замечание по поводу вычисления эффективности кеширования на 11-й минуте. Мне кажется тут берётся формула так, чтобы спустя N запросов к приложению, суммарное время отклика от приложения с кешированием было как можно меньше чем к такому же приложению без кеширования. Правильно ли я понял?
    Например мы 10 раз ходим в приложение:
    Приложение без кеширования это 10 * 100 = 1000 милисекунд (всегда идём в бд)
    Приложение с кешированием (при CacheMissRate = 0,8) это 0,8 * 10 * 100 + 10 * 20 = 1000 милисекунд (800 мс на БД и всегда перед этим идём в кеш - 200 мс)
    То есть при сравнении получается что при CacheMissRate = 0,8 ничего не меняется а при увеличении этого показателя, он будет не очень эфективен. Правильно ли я улавливаю мысль?

  • @MrLotrus
    @MrLotrus 10 месяцев назад +5

    Спасибо! По работе с кэшированием мало работал. Поэтому было полезно и интересно хотя бы теорию послушать.

  • @kl45gp
    @kl45gp 4 месяца назад +2

    это лучшее видео на ютубе про кэш!!! спасибо!

  • @vorandrew
    @vorandrew 3 месяца назад

    Первый раз ставлю скорость на 0.75 в Youtbube

  • @vladimir_balun_programming
    @vladimir_balun_programming  10 месяцев назад +5

    Используете ли вы в своих задачах кэширование, если да - то что именно вам приходит кэшировать?

  • @kismichel17
    @kismichel17 10 месяцев назад +3

    Кратко и информативно. Респект)

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

    Поток - это сколько человек в группе? И второй вопрос. По уровням стандартный и ВИП. Домашки на ВИПе проверяются преподавателем, а на стандартном получается никто не проверяет?

  • @bnidia
    @bnidia 10 месяцев назад +1

    Думаю у меня глюк или в видео дети кричат на заднем фоне

    • @ИльфатЗиганшин-л8ъ
      @ИльфатЗиганшин-л8ъ 10 месяцев назад +1

      Не глюк, все норм. Ничего страшного в этом нет, что бывает что-то на фоне. Ты когда видос смотришь у тебя сейчас идеальная тишина?))
      Когда глотаешь знания ничего не мешает, т.к. Автор видео красавчик!))

  • @rustamahmadov3771
    @rustamahmadov3771 8 месяцев назад

    Добрый день Влад, желаю приятного отпуска)
    Ты в конце видео сказал что скинешь материалы, бесплатные ресурсы, где лучше подготовиться по систем дизайну.
    Спасибо большое)

  • @kotanvich
    @kotanvich 10 месяцев назад +1

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

    • @anatoliivasilev4982
      @anatoliivasilev4982 3 месяца назад

      Имеется ввиду, что когда к кэшу обращаемся, мы уже потратили 20мс, не попали в кэш, пошли в базенку, ещё 100мс. Итого 120мс. Если таких запросов много, кэш вреден. И это еще не считая денег и времени на поддержку этого кэша

    • @anatoliivasilev4982
      @anatoliivasilev4982 3 месяца назад

      Имеется ввиду, что когда к кэшу обращаемся, мы уже потратили 20мс, не попали в кэш, пошли в базенку, ещё 100мс. Итого 120мс. Если таких запросов много, кэш вреден. И это еще не считая денег и времени на поддержку этого кэша

  • @user-segadev
    @user-segadev Месяц назад

    У нас используется кэширование данных внешней системы. Что бы мы не обращались к ней часто и не положили ненароком. От этой внешней системы в кафку летят ивенты на изменения, мы их читаем и актуализируем кеш. Да кстати, кеш в постгресе храним.

    • @_bigbro
      @_bigbro 15 дней назад

      чет бред какой-то. кеш используется для чтения, а к-стримы для записи. Вы по ходу не поняли зачем нужна кафка) а еще хранить кеш в базе - так вообще зашквар. самый анти-патерный антипаттерн.

  • @TheILOVEYOUXD
    @TheILOVEYOUXD 5 месяцев назад

    Безоговорочно лайк и подписка

  • @eugenefedoryachenko8793
    @eugenefedoryachenko8793 10 месяцев назад +1

    Это пересказ статьи "[По полочкам] Кэширование" с хабра?)

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

      Описано ли там много алгоритмов вытеснения данных (Second Chance, Clock, ...), Тегирование кэша, Версионирование кэша, Многомерный кэш и многое другое, что есть в видео? Я вижу, что нет

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

      Если даже это пересказ статьи, то ничего плохого в этом нет. Автору спасибо

    • @eugenefedoryachenko8793
      @eugenefedoryachenko8793 10 месяцев назад +1

      @@stepanmikhailiuk4571 В этом и правда ничего такого нет, если изначально об этом сказать и дать ссылку например на источник)
      А так, Владимир поменял местами некоторые блоки из статьи. И у меня это вызвало больше вопросов чем ответов)
      Ошибки в структурировании привели меня к первоисточнику. Где я получил все ответы на вопросы.

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

      @@eugenefedoryachenko8793 Понял вас, спасибо за ответ. Тоже теперь прочту!

  • @TheAelyseev
    @TheAelyseev 5 месяцев назад

    Для Thundering Herd Problem. Еще можно так. Модуль кеша хранит два ключа - первый инвалидируется как нужно, например 30 sec, второй никогда или редко. Когда несколько процессов идут в кеш, а первого значения там уже нет, то только один начинает обновлять первый ключ, остальные получают второе значение. Когда первый закончит - он положит в кеш актуальное значение. Для примера со страницей Рональндо, какой-то небольшой процент не получит последние фото, но зато не за аффектит скорость работы сервисов.

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

    100 кэшхит / 10 кэшмис = 10% попадания по твоим словам

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

      Ага, тоже обратил на это внимание. Правильно должно быть (cache hists) / ((cache hists) + (cache misses)). Тогда в данном случае получим 0.9 или 90%

  • @denis.nikolaev
    @denis.nikolaev 10 месяцев назад

    Спасибо! Ты лучший! ❤

  • @rokki_khazratov
    @rokki_khazratov 10 месяцев назад +3

    Спасибо огромное за большой урок

  • @anastascat2770
    @anastascat2770 10 месяцев назад +5

    Уууф, чувствую, что будет жарко! Еще не глянул, но уже понимаю, что это час сплошного кайфа. Благодарю! И давай больше систем десигна

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

    Spasibo Balun!

  • @RisDeep
    @RisDeep 6 месяцев назад +1

    Слишком растянутая информация. Как стрим наверное нормально. Для видео лучше по 15 минут по конкретной теме

  • @alexvalchuk3452
    @alexvalchuk3452 2 месяца назад

    Лять, ну нормально все было бы, если бэ не эти "кэшА", "в кэшЭ". Уши режет. Выключил через 2 минуты

    • @tigranFTP
      @tigranFTP 28 дней назад +1

      Какой нежный) 🤡

  • @borland7033
    @borland7033 10 месяцев назад +1

    Отличное видео как всегда)Кстати у Криштиану Рональду 612 млн подписчиков)