digital-garden/_inbox/Least Recently Used.md

33 lines
2.4 KiB
Markdown
Raw Normal View History

2024-06-13 21:01:37 +03:00
---
aliases:
- LRU
tags:
- зрелость/🌱
date:
- - 2024-05-24
zero-link:
2024-09-01 20:44:54 +03:00
- "[[../garden/ru/meta/zero/00 Разработка]]"
2024-06-17 18:57:16 +03:00
parents:
- "[[Кэширование]]"
2024-06-13 21:01:37 +03:00
linked:
2024-06-17 19:02:16 +03:00
- "[[Most Recently Used]]"
2024-06-18 09:04:14 +03:00
- "[[Псевдо-LRU]]"
2024-06-13 21:01:37 +03:00
---
2024-06-17 19:02:16 +03:00
LRU (Least Recently Used) — это алгоритм управления кэш-памятью, который выбирает для удаления тот элемент, который давно не использовался. Этот алгоритм часто используется в системах, где ограничены ресурсы памяти, и необходимо эффективно управлять кэшированием данных.
2024-06-13 21:01:37 +03:00
2024-06-18 09:04:14 +03:00
**Принцип работы:**
2024-06-13 21:01:37 +03:00
1. **Отслеживание использования**: Каждый элемент в кэше имеет метку времени или счетчик, который обновляется каждый раз, когда элемент используется.
2. **Удаление устаревших элементов**: Когда необходимо освободить место в кэше для нового элемента, удаляется элемент с наименьшим значением метки времени или счетчика, то есть наименее недавно использованный элемент.
2024-06-18 08:59:14 +03:00
**Преимущества**:
2024-06-13 21:01:37 +03:00
- Эффективное управление памятью.
- Простота реализации и понятная логика работы.
2024-06-18 08:59:14 +03:00
**Недостатки**:
2024-06-18 09:04:14 +03:00
- Высокие накладные расходы на обновление меток времени или счетчиков. Поэтому чаще всего используют [Псевдо-LRU](Псевдо-LRU.md).
2024-06-13 21:01:37 +03:00
- Возможность неэффективной работы в некоторых специфических случаях, когда часто используемые элементы могут вытесняться из кэша.
2024-06-18 08:59:14 +03:00
**Примеры использования:**
2024-06-13 21:01:37 +03:00
- Кэширование страниц в веб-браузерах.
- Управление оперативной памятью в операционных системах.
- Кэширование данных в базах данных и других системах хранения.