diff --git a/.obsidian/plugins/home-tab/data.json b/.obsidian/plugins/home-tab/data.json index 8b6eac89..703dd537 100644 --- a/.obsidian/plugins/home-tab/data.json +++ b/.obsidian/plugins/home-tab/data.json @@ -23,6 +23,18 @@ "markdownOnly": false, "unresolvedLinks": false, "recentFilesStore": [ + { + "filepath": "_inbox/Старт с холодным кэшом.md", + "timestamp": 1719825821750 + }, + { + "filepath": "_inbox/Кэширование.md", + "timestamp": 1719825815060 + }, + { + "filepath": "_inbox/Кэширование в приложении.md", + "timestamp": 1719825701105 + }, { "filepath": "knowledge/dev/network/Content Delivery Network.md", "timestamp": 1719825036418 @@ -30,18 +42,6 @@ { "filepath": "_inbox/Кэширование на стороне браузера.md", "timestamp": 1719824627612 - }, - { - "filepath": "_inbox/Кэширование.md", - "timestamp": 1719773482789 - }, - { - "filepath": "Home.md", - "timestamp": 1719773476286 - }, - { - "filepath": "_inbox/Vitess.md", - "timestamp": 1719773475773 } ], "bookmarkedFileStore": [], diff --git a/.obsidian/plugins/recent-files-obsidian/data.json b/.obsidian/plugins/recent-files-obsidian/data.json index 26b1f075..077d73c0 100644 --- a/.obsidian/plugins/recent-files-obsidian/data.json +++ b/.obsidian/plugins/recent-files-obsidian/data.json @@ -1,5 +1,17 @@ { "recentFiles": [ + { + "basename": "Старт с холодным кэшом", + "path": "_inbox/Старт с холодным кэшом.md" + }, + { + "basename": "Кэширование", + "path": "_inbox/Кэширование.md" + }, + { + "basename": "Кэширование в приложении", + "path": "_inbox/Кэширование в приложении.md" + }, { "basename": "Content Delivery Network", "path": "knowledge/dev/network/Content Delivery Network.md" @@ -8,10 +20,6 @@ "basename": "Кэширование на стороне браузера", "path": "_inbox/Кэширование на стороне браузера.md" }, - { - "basename": "Кэширование", - "path": "_inbox/Кэширование.md" - }, { "basename": "Home", "path": "Home.md" @@ -191,14 +199,6 @@ { "basename": "Two Phase Lock", "path": "_inbox/Two Phase Lock.md" - }, - { - "basename": "Транзакция БД", - "path": "_inbox/Транзакция БД.md" - }, - { - "basename": "Свойства транзакции БД (ACID)", - "path": "knowledge/dev/database/Свойства транзакции БД (ACID).md" } ], "omittedPaths": [], diff --git a/_inbox/Кэширование в приложении.md b/_inbox/Кэширование в приложении.md new file mode 100644 index 00000000..8276bd1d --- /dev/null +++ b/_inbox/Кэширование в приложении.md @@ -0,0 +1,20 @@ +--- +aliases: +tags: + - зрелость/🌱 +date: + - - 2024-06-17 +zero-link: + - "[[00 Разработка]]" +parents: + - "[[Кэширование]]" +linked: +--- +Поход в базу данных может быть достаточно дорогим, в этом случае имеет смысл сохранять данные в кэш. Ускорить сложные запросы может кэширование: мы помещаем результат вычислений в некоторое хранилище (например, [Memcached](Memcached.md) или [Redis](Redis.md)), которое обладает отличными характеристиками по времени доступа к информации. Теперь вместо обращений к медленным, сложным и тяжелым backend’ам нам достаточно выполнить запрос к быстрому кэшу. + +![](Pasted%20image%2020240617184722.png) + +Самые распространненые варианты хранения: +- Хранение в ОЗУ +- [Memcached](Memcached.md) +- [Redis](Redis.md) \ No newline at end of file diff --git a/_inbox/Кэширование на сервере.md b/_inbox/Кэширование на сервере.md deleted file mode 100644 index f0d39582..00000000 --- a/_inbox/Кэширование на сервере.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -aliases: -tags: - - зрелость/🌱 -date: - - - 2024-06-17 -zero-link: - - "[[00 Разработка]]" -parents: - - "[[Кэширование]]" -linked: ---- -Поход в базу данных может быть достаточно дорогим, в этом случае имеет смысл сохранять данные в кэш. - -Самые распространненые варианты хранения: -- Хранение в ОЗУ -- [Memcached](Memcached.md) -- [Redis](Redis.md) \ No newline at end of file diff --git a/_inbox/Кэширование.md b/_inbox/Кэширование.md index ec4759f2..ab49cec2 100644 --- a/_inbox/Кэширование.md +++ b/_inbox/Кэширование.md @@ -11,10 +11,6 @@ linked: --- Для каждого ресурса критичной для пользователя является такая характеристика, как время отклика сервера ([Latency](Latency.md)). Увеличение времени отклика сервера приводит к оттоку посетителей. Следовательно, необходимо минимизировать время отклика: для этого необходимо уменьшать время, требуемое на формирование ответа пользователю, при этом для формирования ответа пользователю необходимо получить данные из каких-то внешних ресурсов ([Бэкенд](Бэкенд.md)). -Ускорить сложные запросы может кэширование: мы помещаем результат вычислений в некоторое хранилище (например, [Memcached](Memcached.md) или [Redis](Redis.md)), которое обладает отличными характеристиками по времени доступа к информации. Теперь вместо обращений к медленным, сложным и тяжелым backend’ам нам достаточно выполнить запрос к быстрому кэшу. - -![](Pasted%20image%2020240617184722.png) - Система должна уметь выдерживать нагрузку и без кэша. Задача кэша ускорить ответ, а не держать нагрузку. Чаще всего реализуется на основе хэш-таблиц и использует [принцип локальности](Принцип%20локальности.md). @@ -37,7 +33,7 @@ linked: - [Кэширование на стороне браузера](Кэширование%20на%20стороне%20браузера.md) - [Кэширование на стороне Nginx](Кэширование%20на%20стороне%20Nginx.md) - [Content Delivery Network](Content%20Delivery%20Network.md) -- [Кэширование на сервере](Кэширование%20на%20сервере.md) +- [Кэширование в приложении](Кэширование%20в%20приложении.md) Виды кэширования: - Сквозное. Все запросы проходят через кэш. [Схема](Pasted%20image%2020240617194731.png). diff --git a/_inbox/Улучшение производительности отдельного сервиса.md b/_inbox/Улучшение производительности отдельного сервиса.md index 3069f435..f2f4c69f 100644 --- a/_inbox/Улучшение производительности отдельного сервиса.md +++ b/_inbox/Улучшение производительности отдельного сервиса.md @@ -18,6 +18,6 @@ linked: Подходы: - [Green thread](Green%20thread.md) - [Реактивная разработка](Реактивная%20разработка.md) -- [Кэширование на сервере](Кэширование%20на%20сервере.md) +- [Кэширование в приложении](Кэширование%20в%20приложении.md) ![](Pasted%20image%2020240414134708.png)