vault backup: 2024-06-17 18:52:16

This commit is contained in:
Struchkov Mark 2024-06-17 18:52:16 +03:00
parent 8dc716541c
commit 110d7318c2
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
5 changed files with 22 additions and 12 deletions

View File

@ -23,13 +23,17 @@
"markdownOnly": false, "markdownOnly": false,
"unresolvedLinks": false, "unresolvedLinks": false,
"recentFilesStore": [ "recentFilesStore": [
{
"filepath": "_inbox/Принцип локальности.md",
"timestamp": 1718639370931
},
{ {
"filepath": "_inbox/Кэширование.md", "filepath": "_inbox/Кэширование.md",
"timestamp": 1718639203388 "timestamp": 1718639363870
}, },
{ {
"filepath": "_inbox/Redis.md", "filepath": "_inbox/Redis.md",
"timestamp": 1718639199908 "timestamp": 1718639336820
}, },
{ {
"filepath": "wiki/zero/00 HighLoad.md", "filepath": "wiki/zero/00 HighLoad.md",
@ -38,10 +42,6 @@
{ {
"filepath": "knowledge/human/Стресс.md", "filepath": "knowledge/human/Стресс.md",
"timestamp": 1718638580710 "timestamp": 1718638580710
},
{
"filepath": "_inbox/Репликация в MySQL.md",
"timestamp": 1718638377453
} }
], ],
"starredFileStore": [], "starredFileStore": [],

View File

@ -1,5 +1,9 @@
{ {
"recentFiles": [ "recentFiles": [
{
"basename": "Принцип локальности",
"path": "_inbox/Принцип локальности.md"
},
{ {
"basename": "Кэширование", "basename": "Кэширование",
"path": "_inbox/Кэширование.md" "path": "_inbox/Кэширование.md"
@ -195,10 +199,6 @@
{ {
"basename": "Ударение", "basename": "Ударение",
"path": "_inbox/Ударение.md" "path": "_inbox/Ударение.md"
},
{
"basename": "Git",
"path": "knowledge/dev/Git.md"
} }
], ],
"omittedPaths": [], "omittedPaths": [],

View File

@ -14,6 +14,10 @@ linked:
Ускорить сложные запросы может кэширование: мы помещаем результат вычислений в некоторое хранилище (например, [Memcached](Memcached.md) или [Redis](Redis.md)), которое обладает отличными характеристиками по времени доступа к информации. Теперь вместо обращений к медленным, сложным и тяжелым backendам нам достаточно выполнить запрос к быстрому кэшу. Ускорить сложные запросы может кэширование: мы помещаем результат вычислений в некоторое хранилище (например, [Memcached](Memcached.md) или [Redis](Redis.md)), которое обладает отличными характеристиками по времени доступа к информации. Теперь вместо обращений к медленным, сложным и тяжелым backendам нам достаточно выполнить запрос к быстрому кэшу.
![](Pasted%20image%2020240617184722.png)
Кэширование основывается на [принципе локальности](Принцип%20локальности.md).
==Системы используемые для кэширования обычно не являются надежными, так что не следует хранить только там какие-то важные данные.== Данные можно разделить на несколько категорий: ==Системы используемые для кэширования обычно не являются надежными, так что не следует хранить только там какие-то важные данные.== Данные можно разделить на несколько категорий:
- «**Можно потерять**». К этой категории относятся кэши выборок из базы данных. Потеря таких ключей не так страшна, потому что мы можем легко восстановить их значения, обратившись заново к backendу. Однако частые потери кэшей приводят к излишним обращениям к БД. - «**Можно потерять**». К этой категории относятся кэши выборок из базы данных. Потеря таких ключей не так страшна, потому что мы можем легко восстановить их значения, обратившись заново к backendу. Однако частые потери кэшей приводят к излишним обращениям к БД.
- «**Не хотелось бы потерять**». Здесь можно упомянуть счетчики посетителей сайта, просмотров ресурсов и т.п. Хоть и восстановить эти значения иногда напрямую невозможно, но значения этих ключей имеют ограниченный по времени смысл: через несколько минут их значение уже неактуально, и будет рассчитано заново. - «**Не хотелось бы потерять**». Здесь можно упомянуть счетчики посетителей сайта, просмотров ресурсов и т.п. Хоть и восстановить эти значения иногда напрямую невозможно, но значения этих ключей имеют ограниченный по времени смысл: через несколько минут их значение уже неактуально, и будет рассчитано заново.

View File

@ -1,5 +1,6 @@
--- ---
aliases: aliases:
- принципе локальности
tags: tags:
- зрелость/🌱 - зрелость/🌱
date: date:
@ -9,4 +10,9 @@ zero-link:
parents: parents:
linked: linked:
--- ---
Программе свойственно в определенный промежуток времени работать с некоторым подмножеством данных из общего набора. В случае оперативной памяти это означает, что если программа работает с данными, находящимися по адресу 100, то с большей степенью вероятности следующее обращение будет по адресу 101, 102 и т.п., а не по адресу 10000, например. То же самое с жестким диском: его буфер наполняется данными из областей, соседних по отношению к последним прочитанным секторам, если бы наши программы работали в один момент времени не с некоторым относительно небольшим набором файлов, а со всем содержимым жесткого диска, буфер жесткого диска был бы бессмысленным. Буфер автомагнитолы совершает упреждающее чтение с диска следующих минут музыки потому, что мы, скорее всего, будем слушать музыкальный файл последовательно, а не перескакивать по набору музыки и т.п. Программе свойственно в определенный промежуток времени работать с некоторым небольшим подмножеством данных из всего набора.
Примеры:
- Для чатов - последние сообщения
- Для новостей - последние новости
- Для сервиса такси - активные заказы

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB