vault backup: 2024-06-17 19:47:16
This commit is contained in:
parent
96875b0b43
commit
0b5aabeeb0
14
.obsidian/plugins/home-tab/data.json
vendored
14
.obsidian/plugins/home-tab/data.json
vendored
@ -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": [],
|
||||||
|
@ -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"
|
||||||
|
@ -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) и другие.
|
||||||
|
@ -8,5 +8,15 @@ zero-link:
|
|||||||
- "[[00 Разработка]]"
|
- "[[00 Разработка]]"
|
||||||
parents:
|
parents:
|
||||||
linked:
|
linked:
|
||||||
|
- "[[Memcached]]"
|
||||||
---
|
---
|
||||||
Работает с использованием [кооперативной многозадачности](Кооперативная%20многозадачность.md).
|
Работает с использованием [кооперативной многозадачности](Кооперативная%20многозадачность.md).
|
||||||
|
|
||||||
|
Особенности:
|
||||||
|
- Большое количество команд
|
||||||
|
- Встроенный lua
|
||||||
|
- Имеет сложные типы данных
|
||||||
|
- Есть персистентный режим
|
||||||
|
- Кластеризуется
|
||||||
|
- Сложный в настройках
|
||||||
|
- Однопоточный
|
@ -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)
|
||||||
|
|
||||||
|
Виды кэширования:
|
||||||
|
- Сквозное. Вс
|
||||||
## Ключ кэширования
|
## Ключ кэширования
|
||||||
Ключ кэширования должен обладать следующими свойствами:
|
Ключ кэширования должен обладать следующими свойствами:
|
||||||
- При изменении параметров выборки, которую мы кэшируем, ключ кэширования должен изменяться (чтобы с новыми параметрами мы не «попали» в старый кэш).
|
- При изменении параметров выборки, которую мы кэшируем, ключ кэширования должен изменяться (чтобы с новыми параметрами мы не «попали» в старый кэш).
|
||||||
|
Loading…
Reference in New Issue
Block a user