Подписка на блог

В Телеграме помимо ссылок на заметки делюсь околодизайнерскими наблюдениями.

В Твиттере помимо ссылок на заметки пишу всякую чушь.

В Тумблере и Же-же есть автоматические трансляции. Если не работает, напишите мне: ilyabirman@ilyabirman.ru.

По РСС и Джейсон-фиду трансляции для автоматических читалок

Главный принцип кеширования: данные всегда актуальны

В этом выпуске рассказываю, о том, как правильно должно работать кеширование:

Если разработчики вам говорят, что кеш обновляется раз в полчаса и «надо просто подождать», пусть послушают этот выпуск. Кеш — не оправдание для отображения устаревших данных. Кеш нужен, чтобы данные показывались быстро, но без ущерба для их актуальности. Если из-за кеша вы видите устаревшие данные, значит в кеше баг.

Подкаст-версия для тех, кто в дороге:

Тема начинается с 2:01 с рассказа о смысле кеширования, сам принцип — c 7:00

РСС для подкастных программ:

https://ilyabirman.ru/meanwhile/tags/podcast/rss/

И теперь можно найти подкаст в каталоге Айтюнса. Надо искать «Видеоблог-подкаст Ильи Бирмана», но в нормальных программах находит даже если просто написать «Бирман».

Подписаться на блог
Поделиться
Отправить
Запинить
Читайте дальше
5 комментариев
Alexander Golubev 7 дн

There are only two hard things in Computer Science: cache invalidation and naming things.
— Phil Karlton

Это, конечно, шутка, но только не очень. Инвалидация кеша — одна из самых сложных задач программирования.
Принцип «данные всегда актуальны», очевидно, правильный, но не во всех случаях главный. Иногда есть выбор: либо на 5 минут устаревшая страница, либо никакой страницы, и тогда главным приципом становиться «чтобы работало»

Mikhail Gusarov 7 дн

Главный принцип кэширования: кэш изменяет скорость программы, но не её поведение.

Если кэш меняет поведение программы, то либо это означает, что есть ошибка, которую надо исправить, либо стоит перестать называть эту конструкцию кэшем.

Евгений Степанищев 6 дн

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

Павел Супрунюк 4 дн

Коммент к догонке. Платный Ютуб не во всех странах позволяет проигрывать видео (аудио) в фоне. В Беларуси он только отключает рекламу, но ни фонового воспроизведения, ни офлайн воспроизведения нет, о чем он предупреждает почти при каждом запуске приложения (что бесит еще сильнее). https://support.google.com/youtube/answer/6307365?hl=en

Mihail Podivilov 4 дн

Даже у таких платформ-гигантов, как тот же Фейсбук, инвалидация кэша работает не совсем корректно. Например, данные Opengraph могут висеть необновлёнными даже при запросе на инвалидацию где-то от одного дня.

Илья Бирман 3 дн

У Фейсбука всё работает запредельно глючно. Мне кажется, тут слово «даже» неуместно :-)

Мои книги
Популярное