diff --git a/.obsidian/plugins/home-tab/data.json b/.obsidian/plugins/home-tab/data.json index a20f111a..fcbf7455 100644 --- a/.obsidian/plugins/home-tab/data.json +++ b/.obsidian/plugins/home-tab/data.json @@ -24,24 +24,24 @@ "unresolvedLinks": false, "recentFilesStore": [ { - "filepath": "_inbox/Least Recently Used.md", - "timestamp": 1718690349183 + "filepath": "_inbox/Псевдо-LRU.md", + "timestamp": 1718690531858 }, { - "filepath": "_inbox/Most Recently Used.md", - "timestamp": 1718690345433 + "filepath": "_inbox/Least Recently Used.md", + "timestamp": 1718690499055 }, { "filepath": "Инвалидация кэша.md", - "timestamp": 1718690233629 + "timestamp": 1718690431618 + }, + { + "filepath": "_inbox/Most Recently Used.md", + "timestamp": 1718690370847 }, { "filepath": "_inbox/Кэширование.md", "timestamp": 1718690151207 - }, - { - "filepath": "_inbox/LSM дерево.md", - "timestamp": 1718690013544 } ], "bookmarkedFileStore": [], diff --git a/.obsidian/plugins/recent-files-obsidian/data.json b/.obsidian/plugins/recent-files-obsidian/data.json index 11a2c15a..1da4cb38 100644 --- a/.obsidian/plugins/recent-files-obsidian/data.json +++ b/.obsidian/plugins/recent-files-obsidian/data.json @@ -1,17 +1,21 @@ { "recentFiles": [ + { + "basename": "Псевдо-LRU", + "path": "_inbox/Псевдо-LRU.md" + }, { "basename": "Least Recently Used", "path": "_inbox/Least Recently Used.md" }, - { - "basename": "Most Recently Used", - "path": "_inbox/Most Recently Used.md" - }, { "basename": "Инвалидация кэша", "path": "Инвалидация кэша.md" }, + { + "basename": "Most Recently Used", + "path": "_inbox/Most Recently Used.md" + }, { "basename": "Кэширование", "path": "_inbox/Кэширование.md" @@ -195,10 +199,6 @@ { "basename": "Оптимизация SQL запросов", "path": "_inbox/Оптимизация SQL запросов.md" - }, - { - "basename": "JOIN SQL", - "path": "_inbox/JOIN SQL.md" } ], "omittedPaths": [], diff --git a/_inbox/Least Recently Used.md b/_inbox/Least Recently Used.md index dd726684..c64c988e 100644 --- a/_inbox/Least Recently Used.md +++ b/_inbox/Least Recently Used.md @@ -11,10 +11,11 @@ parents: - "[[Кэширование]]" linked: - "[[Most Recently Used]]" + - "[[Псевдо-LRU]]" --- LRU (Least Recently Used) — это алгоритм управления кэш-памятью, который выбирает для удаления тот элемент, который давно не использовался. Этот алгоритм часто используется в системах, где ограничены ресурсы памяти, и необходимо эффективно управлять кэшированием данных. -Основные принципы работы LRU: +**Принцип работы:** 1. **Отслеживание использования**: Каждый элемент в кэше имеет метку времени или счетчик, который обновляется каждый раз, когда элемент используется. 2. **Удаление устаревших элементов**: Когда необходимо освободить место в кэше для нового элемента, удаляется элемент с наименьшим значением метки времени или счетчика, то есть наименее недавно использованный элемент. @@ -23,7 +24,7 @@ LRU (Least Recently Used) — это алгоритм управления кэ - Простота реализации и понятная логика работы. **Недостатки**: -- Высокие накладные расходы на обновление меток времени или счетчиков. +- Высокие накладные расходы на обновление меток времени или счетчиков. Поэтому чаще всего используют [Псевдо-LRU](Псевдо-LRU.md). - Возможность неэффективной работы в некоторых специфических случаях, когда часто используемые элементы могут вытесняться из кэша. **Примеры использования:** diff --git a/_inbox/Most Recently Used.md b/_inbox/Most Recently Used.md index 6dd7ea90..e33feb48 100644 --- a/_inbox/Most Recently Used.md +++ b/_inbox/Most Recently Used.md @@ -14,6 +14,10 @@ linked: --- Наименее редко используемые данные вытесняются +**Принцип работы:** + +**Преимущества**: + **Недостатки**: **Примеры использования:** \ No newline at end of file diff --git a/_inbox/Псевдо-LRU.md b/_inbox/Псевдо-LRU.md new file mode 100644 index 00000000..53019dc8 --- /dev/null +++ b/_inbox/Псевдо-LRU.md @@ -0,0 +1,14 @@ +--- +aliases: +tags: + - зрелость/🌱 +date: + - - 2024-06-18 +zero-link: + - "[[00 HighLoad]]" +parents: + - "[[Кэширование]]" +linked: + - "[[Least Recently Used]]" +--- +В отличие от [LRU](Least%20Recently%20Used.md) уменьшает накладные расчеты \ No newline at end of file diff --git a/Инвалидация кэша.md b/Инвалидация кэша.md index 0272282d..443adb54 100644 --- a/Инвалидация кэша.md +++ b/Инвалидация кэша.md @@ -29,6 +29,8 @@ linked: **Алгоритмы вытеснения:** - Алгоритм Белади. Несуществующий идеальный алгоритм. Храним только нужную информацию, не нужную не храним. - [Least Recently Used](Least%20Recently%20Used.md) +- П +- - [Most Recently Used](Most%20Recently%20Used.md) - [Last Frequently Used](Last%20Frequently%20Used.md) - [Adaptive Replacement Cache](Adaptive%20Replacement%20Cache.md)