LINUX.ORG.RU

Что значит перестройка кэша?

 ,


0

2
  • запросили данные, в кеше данных нет
  • получили данные из файла,
  • записали данные в кэш (пусть будет в оперативную память).
  • и отдали данные
  • запросили данные, смотрим есть ли такие в кэше
  • данные есть в кеше, взяли из кеша, если нет вернулись к пункту 2

где в этой логике работы кеша «перестройка кэша»? Зачем его перестраивать?

★★★★★

Данные на диске поменялись, и нужно менять их копию в кэше?

У кэша ограниченный объём и нужно что-то сначала оттуда выкинуть?

anonymous
()
Ответ на: комментарий от anonymous

Не обязательно ограниченый.

В остальном согласен.

Простыми словами: по причине какого-либо внешнего действия, кеш уже протух и требуется обновить (очистить) его до актуального состояния.

deep-purple ★★★★★
()

Зачем его перестраивать?

Уже сказали про изменение данных на диске и необходимость обновления кэша. Еще один кейс - ты берешь из кэша данные, у которых нет какого-то явного «идентификатора», например тебе надо получить ТОП 10 каких-нибудь item'ов. Так что у тебя должен быть отдельный процесс\тред\etc, который будет следить за актуальностью этого ТОП'а, то есть периодически его пересчитывать и вносить в кэш изменения.

Еще ситуация, например, когда у тебя есть сайт, там лежит 1 фотка кошки и одна фотка собаки. Кэш рассчитан на одно фото. Ты знаешь, что у тебя приходит в секунду тысяча запросов на фотку кошки и 10 запросов на фото собаки - класть собаку в кэш не имеет смысла, да и менять содержимое кэша в реалтайме (вот как ты описал) тоже будет «не очень» с точки зрения производительности. Потом к тебе на сайт ломанули собачники - тебе следуют поменять фотки в кэше, потому что на кошку спрос упал.

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

micronekodesu ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.