digital-garden/_inbox/Least Recently Used.md

33 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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