vault backup: 2024-06-17 18:57:16
This commit is contained in:
parent
110d7318c2
commit
d26d6d4fc7
18
.obsidian/plugins/home-tab/data.json
vendored
18
.obsidian/plugins/home-tab/data.json
vendored
@ -24,24 +24,24 @@
|
|||||||
"unresolvedLinks": false,
|
"unresolvedLinks": false,
|
||||||
"recentFilesStore": [
|
"recentFilesStore": [
|
||||||
{
|
{
|
||||||
"filepath": "_inbox/Принцип локальности.md",
|
"filepath": "_inbox/2024-06-17 1718639812.md",
|
||||||
"timestamp": 1718639370931
|
"timestamp": 1718639813049
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filepath": "_inbox/Кэширование.md",
|
"filepath": "_inbox/Кэширование.md",
|
||||||
"timestamp": 1718639363870
|
"timestamp": 1718639716918
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filepath": "_inbox/Redis.md",
|
"filepath": "_inbox/Принцип локальности.md",
|
||||||
"timestamp": 1718639336820
|
"timestamp": 1718639715482
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filepath": "wiki/zero/00 HighLoad.md",
|
"filepath": "_inbox/Least Recently Used.md",
|
||||||
"timestamp": 1718638801082
|
"timestamp": 1718639706047
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filepath": "knowledge/human/Стресс.md",
|
"filepath": "_inbox/Memcached.md",
|
||||||
"timestamp": 1718638580710
|
"timestamp": 1718639697873
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"starredFileStore": [],
|
"starredFileStore": [],
|
||||||
|
@ -1,12 +1,28 @@
|
|||||||
{
|
{
|
||||||
"recentFiles": [
|
"recentFiles": [
|
||||||
|
{
|
||||||
|
"basename": "Most Recently Used",
|
||||||
|
"path": "_inbox/Most Recently Used.md"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"basename": "Кэширование",
|
||||||
|
"path": "_inbox/Кэширование.md"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"basename": "Принцип локальности",
|
"basename": "Принцип локальности",
|
||||||
"path": "_inbox/Принцип локальности.md"
|
"path": "_inbox/Принцип локальности.md"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"basename": "Кэширование",
|
"basename": "Least Recently Used",
|
||||||
"path": "_inbox/Кэширование.md"
|
"path": "_inbox/Least Recently Used.md"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"basename": "Memcached",
|
||||||
|
"path": "_inbox/Memcached.md"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"basename": "Generational Collection",
|
||||||
|
"path": "knowledge/dev/java/gc/Generational Collection.md"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"basename": "Redis",
|
"basename": "Redis",
|
||||||
@ -136,10 +152,6 @@
|
|||||||
"basename": "Обучающий курс от HighLoad конференции 2024",
|
"basename": "Обучающий курс от HighLoad конференции 2024",
|
||||||
"path": "source/курсы/_toc/Обучающий курс от HighLoad конференции 2024.md"
|
"path": "source/курсы/_toc/Обучающий курс от HighLoad конференции 2024.md"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"basename": "Memcached",
|
|
||||||
"path": "_inbox/Memcached.md"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"basename": "00 Nginx",
|
"basename": "00 Nginx",
|
||||||
"path": "wiki/zero/00 Nginx.md"
|
"path": "wiki/zero/00 Nginx.md"
|
||||||
@ -187,18 +199,6 @@
|
|||||||
{
|
{
|
||||||
"basename": "Без названия",
|
"basename": "Без названия",
|
||||||
"path": "Без названия.md"
|
"path": "Без названия.md"
|
||||||
},
|
|
||||||
{
|
|
||||||
"basename": "00 MySQL",
|
|
||||||
"path": "wiki/zero/00 MySQL.md"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"basename": "00 Linux",
|
|
||||||
"path": "wiki/zero/00 Linux.md"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"basename": "Ударение",
|
|
||||||
"path": "_inbox/Ударение.md"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"omittedPaths": [],
|
"omittedPaths": [],
|
||||||
|
@ -8,6 +8,7 @@ date:
|
|||||||
zero-link:
|
zero-link:
|
||||||
- "[[00 Разработка]]"
|
- "[[00 Разработка]]"
|
||||||
parents:
|
parents:
|
||||||
|
- "[[Кэширование]]"
|
||||||
linked:
|
linked:
|
||||||
---
|
---
|
||||||
LRU (Least Recently Used) — это алгоритм управления кэш-памятью, который выбирает для удаления тот элемент, который был использован дольше всего. Этот алгоритм часто используется в системах, где ограничены ресурсы памяти, и необходимо эффективно управлять кэшированием данных.
|
LRU (Least Recently Used) — это алгоритм управления кэш-памятью, который выбирает для удаления тот элемент, который был использован дольше всего. Этот алгоритм часто используется в системах, где ограничены ресурсы памяти, и необходимо эффективно управлять кэшированием данных.
|
||||||
|
11
_inbox/Most Recently Used.md
Normal file
11
_inbox/Most Recently Used.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- MRU
|
||||||
|
tags:
|
||||||
|
- зрелость/🌱
|
||||||
|
date:
|
||||||
|
- - 2024-06-17
|
||||||
|
zero-link:
|
||||||
|
parents:
|
||||||
|
linked:
|
||||||
|
---
|
@ -23,9 +23,7 @@ linked:
|
|||||||
- «**Не хотелось бы потерять**». Здесь можно упомянуть счетчики посетителей сайта, просмотров ресурсов и т.п. Хоть и восстановить эти значения иногда напрямую невозможно, но значения этих ключей имеют ограниченный по времени смысл: через несколько минут их значение уже неактуально, и будет рассчитано заново.
|
- «**Не хотелось бы потерять**». Здесь можно упомянуть счетчики посетителей сайта, просмотров ресурсов и т.п. Хоть и восстановить эти значения иногда напрямую невозможно, но значения этих ключей имеют ограниченный по времени смысл: через несколько минут их значение уже неактуально, и будет рассчитано заново.
|
||||||
- «**Совсем не должны терять**». Кэш удобен для хранения сессий пользователей. Однако содержимое сессий не хотелось бы терять никогда – иначе пользователей на сайте будет «разлогинивать». Как попытаться избежать? Можно кластеризовать систему кэширования, так вероятность потери снижается.
|
- «**Совсем не должны терять**». Кэш удобен для хранения сессий пользователей. Однако содержимое сессий не хотелось бы терять никогда – иначе пользователей на сайте будет «разлогинивать». Как попытаться избежать? Можно кластеризовать систему кэширования, так вероятность потери снижается.
|
||||||
|
|
||||||
Инвалидация:
|
|
||||||
- По истечению срока жизни - TTL
|
|
||||||
- Принудительный вызов команды инвалидации
|
|
||||||
## Ключ кэширования
|
## Ключ кэширования
|
||||||
Ключ кэширования должен обладать следующими свойствами:
|
Ключ кэширования должен обладать следующими свойствами:
|
||||||
- При изменении параметров выборки, которую мы кэшируем, ключ кэширования должен изменяться (чтобы с новыми параметрами мы не «попали» в старый кэш).
|
- При изменении параметров выборки, которую мы кэшируем, ключ кэширования должен изменяться (чтобы с новыми параметрами мы не «попали» в старый кэш).
|
||||||
@ -45,3 +43,13 @@ $key = md5(serialize($options))
|
|||||||
Один из подходов это инвалидация по времени. Для кэшированных данных устанавливается TTL, и по прошествию времени кэш удаляется. Такое вариант подходит для редко изменяемых данных, устаревание которых не приводит к серьезным проблемам в бизнес-логике, например словари. При таком варианте важно подобрать оптимальное время жизни кэша, слишком маленькое время жизни будет давать плохую производительность, слишком большое ухудшит опыт пользователей.
|
Один из подходов это инвалидация по времени. Для кэшированных данных устанавливается TTL, и по прошествию времени кэш удаляется. Такое вариант подходит для редко изменяемых данных, устаревание которых не приводит к серьезным проблемам в бизнес-логике, например словари. При таком варианте важно подобрать оптимальное время жизни кэша, слишком маленькое время жизни будет давать плохую производительность, слишком большое ухудшит опыт пользователей.
|
||||||
|
|
||||||
Первый вариант не подходит. Некоторые чуствительные данные нужно инвалидировать их сразу при изменении. Тут может помочь тегирование ключей.
|
Первый вариант не подходит. Некоторые чуствительные данные нужно инвалидировать их сразу при изменении. Тут может помочь тегирование ключей.
|
||||||
|
|
||||||
|
Инвалидация:
|
||||||
|
- По истечению срока жизни - TTL
|
||||||
|
- Принудительный вызов команды инвалидации
|
||||||
|
- Алгоритмы вытеснения
|
||||||
|
|
||||||
|
Алгоритмы вытеснения:
|
||||||
|
- Алгоритм Белади. Несуществующий идеальный алгоритм. Храним только нужную информацию, не нужную не храним.
|
||||||
|
- [Least Recently Used](Least%20Recently%20Used.md)
|
||||||
|
- [[MRU]]
|
Loading…
Reference in New Issue
Block a user