vault backup: 2024-06-17 19:47:16

This commit is contained in:
Struchkov Mark 2024-06-17 19:47:16 +03:00
parent 96875b0b43
commit 0b5aabeeb0
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
5 changed files with 34 additions and 12 deletions

View File

@ -25,23 +25,23 @@
"recentFilesStore": [ "recentFilesStore": [
{ {
"filepath": "_inbox/Кэширование.md", "filepath": "_inbox/Кэширование.md",
"timestamp": 1718642518949 "timestamp": 1718642818036
},
{
"filepath": "_inbox/Memcached.md",
"timestamp": 1718642691133
}, },
{ {
"filepath": "_inbox/Redis.md", "filepath": "_inbox/Redis.md",
"timestamp": 1718642511151 "timestamp": 1718642620465
}, },
{ {
"filepath": "_inbox/Кэширование на сервере.md", "filepath": "_inbox/Кэширование на сервере.md",
"timestamp": 1718642458498 "timestamp": 1718642541228
}, },
{ {
"filepath": "_inbox/Кэширование на стороне Nginx.md", "filepath": "_inbox/Кэширование на стороне Nginx.md",
"timestamp": 1718642237759 "timestamp": 1718642237759
},
{
"filepath": "_inbox/Кэширование на стороне клиента Nginx.md",
"timestamp": 1718642233979
} }
], ],
"starredFileStore": [], "starredFileStore": [],

View File

@ -4,6 +4,10 @@
"basename": "Кэширование", "basename": "Кэширование",
"path": "_inbox/Кэширование.md" "path": "_inbox/Кэширование.md"
}, },
{
"basename": "Memcached",
"path": "_inbox/Memcached.md"
},
{ {
"basename": "Redis", "basename": "Redis",
"path": "_inbox/Redis.md" "path": "_inbox/Redis.md"
@ -48,10 +52,6 @@
"basename": "Least Recently Used", "basename": "Least Recently Used",
"path": "_inbox/Least Recently Used.md" "path": "_inbox/Least Recently Used.md"
}, },
{
"basename": "Memcached",
"path": "_inbox/Memcached.md"
},
{ {
"basename": "Generational Collection", "basename": "Generational Collection",
"path": "knowledge/dev/java/gc/Generational Collection.md" "path": "knowledge/dev/java/gc/Generational Collection.md"

View File

@ -9,8 +9,17 @@ zero-link:
parents: parents:
linked: linked:
- "[[Кэширование]]" - "[[Кэширование]]"
- "[[Redis]]"
link: https://highload.guide/blog/web-caching-memcached.html link: https://highload.guide/blog/web-caching-memcached.html
--- ---
## Тезисы
- Проще конфигурировать чем [Redis](Redis.md)
- Многопоточный
- Для кластерных конфигураций есть moxy
- Работает с [Tarantool](Tarantool.md)
***
Memcached представляет собой огромную хэш-таблицу в оперативной памяти, доступную по сетевому протоколу. Он обеспечивает сервис по хранению значений, ассоциированных с ключами. Доступ к хэшу мы получаем через простой сетевой протокол, клиентом может выступать программа, написанная на произвольном языке программирования (существуют клиенты для C/C++, PHP, Perl, Java и т.п.) Memcached представляет собой огромную хэш-таблицу в оперативной памяти, доступную по сетевому протоколу. Он обеспечивает сервис по хранению значений, ассоциированных с ключами. Доступ к хэшу мы получаем через простой сетевой протокол, клиентом может выступать программа, написанная на произвольном языке программирования (существуют клиенты для C/C++, PHP, Perl, Java и т.п.)
Самые простые операции получить значение указанного ключа (get), установить значение ключа (set) и удалить ключ (del). Для реализации цепочки атомарных операций (при условии конкурентного доступа к memcached со стороны параллельных процессов) используются дополнительные операции: инкремент/декремент значения ключа (incr/decr), дописать данные к значению ключа в начало или в конец (append/prepend), атомарная связка получения/установки значения (gets/cas) и другие. Самые простые операции получить значение указанного ключа (get), установить значение ключа (set) и удалить ключ (del). Для реализации цепочки атомарных операций (при условии конкурентного доступа к memcached со стороны параллельных процессов) используются дополнительные операции: инкремент/декремент значения ключа (incr/decr), дописать данные к значению ключа в начало или в конец (append/prepend), атомарная связка получения/установки значения (gets/cas) и другие.

View File

@ -8,5 +8,15 @@ zero-link:
- "[[00 Разработка]]" - "[[00 Разработка]]"
parents: parents:
linked: linked:
- "[[Memcached]]"
--- ---
Работает с использованием [кооперативной многозадачности](Кооперативная%20многозадачность.md). Работает с использованием [кооперативной многозадачности](Кооперативная%20многозадачность.md).
Особенности:
- Большое количество команд
- Встроенный lua
- Имеет сложные типы данных
- Есть персистентный режим
- Кластеризуется
- Сложный в настройках
- Однопоточный

View File

@ -30,6 +30,9 @@ linked:
- [Кэширование на стороне Nginx](Кэширование%20на%20стороне%20Nginx.md) - [Кэширование на стороне Nginx](Кэширование%20на%20стороне%20Nginx.md)
- [Кэширование на стороне клиента Nginx](Кэширование%20на%20стороне%20клиента%20Nginx.md) - [Кэширование на стороне клиента Nginx](Кэширование%20на%20стороне%20клиента%20Nginx.md)
- [Кэширование в браузере](Кэширование%20в%20браузере.md) - [Кэширование в браузере](Кэширование%20в%20браузере.md)
Виды кэширования:
- Сквозное. Вс
## Ключ кэширования ## Ключ кэширования
Ключ кэширования должен обладать следующими свойствами: Ключ кэширования должен обладать следующими свойствами:
- При изменении параметров выборки, которую мы кэшируем, ключ кэширования должен изменяться (чтобы с новыми параметрами мы не «попали» в старый кэш). - При изменении параметров выборки, которую мы кэшируем, ключ кэширования должен изменяться (чтобы с новыми параметрами мы не «попали» в старый кэш).