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

View File

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

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB