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

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 มิ.ย. 2024
  • Курсы по программированию: clck.ru/37iG2b
    Потренироваться проходить собеседования: it-interview.io
    Присоединиться к моему сообществу: boosty.to/vladimir_balun
    Консультации:
    getmentor.dev/mentor/vladimir...
    solvery.io/ru/mentor/vladimir...
    Таймкоды:
    00:00 - План занятия
    01:03 - Что такое кэширование
    03:18 - Основные термины кэширования
    04:55 - Какие данные кэшировать
    06:02 - Кэширование ошибок
    07:13 - Как предотвратить cache miss attack
    10:34 - Эффективность кэширования
    12:56 - Внутреннее кэширование
    14:41 - Внешнее кэширование
    19:23 - Cache Aside
    21:32 - Cache Through
    23:16 - Cache Ahead
    29:33 - Алгоритмы вытеснения данных из кэша
    30:01 - Random алгоритм
    30:23 - FIFO алгоритм
    30:49 - LIFO алгоритм
    31:16 - LRU алгоритм
    32:06 - MRU алгоритм
    32:29 - LFU алгоритм
    37:11 - Алгоритм Белади (OPT)
    38:13 - Second Chance алгоритм
    39:56 - Clock алгоритм
    40:40 - 2Q алгоритм
    41:42 - SLRU алгоритм
    42:49 - TLRU алгоритм
    43:17 - LRU-k алгоритм
    47:24 - Инвалидация данных в кэше
    47:41 - Инвалидация по TTL
    48:35 - Jitter
    49:40 - Thundering herd problem
    51:13 - Инвалидация по событию
    52:41 - Версионирование кэша
    56:11 - Тегирование кэша
    1:03:37 - Многомерный кэш
    1:05:46 - Курс по System Desing
    VK: vladimir_balun_program...
    Telegram: t.me/vladimir_balun_programming
    Instagram: / vladimir_balun_program...
    TH-cam: / @vladimir_balun_progra...
    YandexZen: zen.yandex.ru/id/623b6c964da9...
    RuTube: rutube.ru/channel/25079714/
    Кэширование. Алгоритмы кэширование. Кэширование в программировании. Кэширование данных. Прогрев кэша. Холодный кэш. Когда использовать кэширование. Как написать кэш для базы данных.
    #айти #программирование #программист #systemdesign

ความคิดเห็น • 36

  • @vladimir_balun_programming
    @vladimir_balun_programming  7 หลายเดือนก่อน +5

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

  • @kl45gp
    @kl45gp 25 วันที่ผ่านมา

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

  • @MrLotrus
    @MrLotrus 7 หลายเดือนก่อน +4

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

  • @kismichel17
    @kismichel17 7 หลายเดือนก่อน +2

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

  • @rustamahmadov3771
    @rustamahmadov3771 5 หลายเดือนก่อน

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

  • @denis.nikolaev
    @denis.nikolaev 7 หลายเดือนก่อน

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

  • @blaze2671
    @blaze2671 7 หลายเดือนก่อน +7

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

  • @TheILOVEYOUXD
    @TheILOVEYOUXD 2 หลายเดือนก่อน

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

  • @rokki_khazratov
    @rokki_khazratov 7 หลายเดือนก่อน +3

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

  • @TheAelyseev
    @TheAelyseev 2 หลายเดือนก่อน

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

  • @anastascat2770
    @anastascat2770 7 หลายเดือนก่อน +4

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

  • @user-se4gg9sk4b
    @user-se4gg9sk4b 3 หลายเดือนก่อน

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

  • @nouchance
    @nouchance 7 หลายเดือนก่อน

    Spasibo Balun!

  • @Zarin1989
    @Zarin1989 7 หลายเดือนก่อน

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

  • @andrewkot5212
    @andrewkot5212 7 หลายเดือนก่อน +1

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

    • @anatoliivasilev4982
      @anatoliivasilev4982 3 วันที่ผ่านมา

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

    • @anatoliivasilev4982
      @anatoliivasilev4982 3 วันที่ผ่านมา

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

  • @it_cpp54
    @it_cpp54 7 หลายเดือนก่อน

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

  • @eugenefedoryachenko8793
    @eugenefedoryachenko8793 7 หลายเดือนก่อน +1

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

    • @vladimir_balun_programming
      @vladimir_balun_programming  7 หลายเดือนก่อน

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

    • @stepanmikhailiuk4571
      @stepanmikhailiuk4571 7 หลายเดือนก่อน

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

    • @eugenefedoryachenko8793
      @eugenefedoryachenko8793 7 หลายเดือนก่อน +1

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

    • @stepanmikhailiuk4571
      @stepanmikhailiuk4571 7 หลายเดือนก่อน

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

  • @somethingname9038
    @somethingname9038 7 หลายเดือนก่อน

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

    • @konstantintolstikhin5531
      @konstantintolstikhin5531 7 หลายเดือนก่อน

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

  • @bnidia
    @bnidia 7 หลายเดือนก่อน +1

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

    • @user-ty4re1cz7d
      @user-ty4re1cz7d 7 หลายเดือนก่อน +1

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

  • @RisDeep
    @RisDeep 3 หลายเดือนก่อน

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

  • @borland7033
    @borland7033 7 หลายเดือนก่อน +1

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