--- aliases: - LRU tags: - зрелость/🌱 date: - - 2024-05-24 zero-link: - "[[../garden/ru/meta/zero/00 Разработка]]" parents: - "[[Кэширование]]" linked: - "[[Most Recently Used]]" - "[[Псевдо-LRU]]" --- LRU (Least Recently Used) — это алгоритм управления кэш-памятью, который выбирает для удаления тот элемент, который давно не использовался. Этот алгоритм часто используется в системах, где ограничены ресурсы памяти, и необходимо эффективно управлять кэшированием данных. **Принцип работы:** 1. **Отслеживание использования**: Каждый элемент в кэше имеет метку времени или счетчик, который обновляется каждый раз, когда элемент используется. 2. **Удаление устаревших элементов**: Когда необходимо освободить место в кэше для нового элемента, удаляется элемент с наименьшим значением метки времени или счетчика, то есть наименее недавно использованный элемент. **Преимущества**: - Эффективное управление памятью. - Простота реализации и понятная логика работы. **Недостатки**: - Высокие накладные расходы на обновление меток времени или счетчиков. Поэтому чаще всего используют [Псевдо-LRU](Псевдо-LRU.md). - Возможность неэффективной работы в некоторых специфических случаях, когда часто используемые элементы могут вытесняться из кэша. **Примеры использования:** - Кэширование страниц в веб-браузерах. - Управление оперативной памятью в операционных системах. - Кэширование данных в базах данных и других системах хранения.