Изменения документа Механизмы
Редактировал(а) Alexandr Fokin 2023/12/16 14:13
отредактировано Alexandr Fokin
на 2022/10/19 15:13
на 2022/10/19 15:13
отредактировано Alexandr Fokin
на 2023/12/13 11:04
на 2023/12/13 11:04
Изменить комментарий:
Renamed back-links.
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,0 +1,63 @@ 1 +|(% style="width:170px" %)[[Параллелизм>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Параллелизм.WebHome]]|(% style="width:668px" %)Для входящих запросов используется 1 процесс и 1 поток. Базовые операции являются атомарными.| 2 +|(% style="width:170px" %) |(% style="width:668px" %) | 3 +|(% style="width:170px" %)Конвейер 4 +Pipelining|(% style="width:668px" %)((( 5 +Механизм, позволяющий накопить несколько команд, а потом отправить их одним запросом, чтобы оптимизировать сетевое взаимодействие. 6 + 7 +!В отличии от транзакции допускается, что во время выполнения группы команд, может быть выполнена команда из другого соединения. 8 +)))|Redis pipelining 9 +[[https:~~/~~/redis.io/docs/manual/pipelining/>>https://redis.io/docs/manual/pipelining/]] 10 +|(% style="width:170px" %)Транзакции|(% style="width:668px" %)((( 11 + 12 +)))|((( 13 +[[Транзакции>>Разработка.Базы данных.NoSQL.Ключ-значение структура.Redis.Механизмы.Транзакции.WebHome]] 14 +))) 15 +|(% style="width:170px" %)Срок жизни|(% style="width:668px" %)Управление истечение ключа можно задать только на уровне всего элемента. (Т.е. нельзя удалить отдельный элемент List/Set/Hash и др., а только весь набор целиком).| 16 +|(% style="width:170px" %)Постоянное хранение. 17 +Persistent|(% style="width:668px" %)((( 18 +|(% style="width:139px" %) |(% style="width:304px" %) |(% style="width:207px" %) 19 +|(% style="width:139px" %)Snapshots|(% style="width:304px" %)Полный снимок оперативной памяти. 20 +Есть блокирующий (без копирования) и неблокирующий (с копированием) режимы. 21 +Также используется в механизме репликации.|(% style="width:207px" %) 22 +|(% style="width:139px" %)AOF 23 +(Append Only File)|(% style="width:304px" %)Запись всех команд в файл. 24 +Требует периодической оптимизации для уменьшения размера файла.|(% style="width:207px" %)[[File sync ~~| FSync>>Хостинг.Операционные системы.Механизмы.File sync | FSync.WebHome]] частота сброса буфера на носитель. 25 +[[Event sourcing>>doc:Архитектура и модели.Группа\. Архитектурные подходы.Event sourcing.WebHome]] 26 +)))|Redis persistence 27 +[[https:~~/~~/redis.io/docs/manual/persistence/>>https://redis.io/docs/manual/persistence/]] 28 +|(% style="width:170px" %)[[Lua>>path:/bin/view/%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/%D0%94%D1%80%D1%83%D0%B3%D0%BE%D0%B5/Lua/]] скрипты|(% style="width:668px" %) |[[Lua скрипт API>>doc:.Lua скрипт API.WebHome]] 29 +|(% style="width:170px" %) |(% style="width:668px" %) | 30 +|(% style="width:170px" %)Channel 31 +Pub/Sub|(% style="width:668px" %)((( 32 +Реализация модели издатель/подписчик. 33 +После подключения к канаду клиент будет получать все сообщения, поступающие на канал (сообщения никак не распределяются между клиентами). 34 +На стороне Redis выделяется буфер для хранения сообщений, еще не обработанных всеми клиентами. Если клиент сильно отстает в обработке сообщений (заполняя буфер), то он может быть отключен. 35 + 36 +Каналы являются глобальными для ноды приложения, не вложены в пространство какой-либо базы данных. 37 +)))|Redis Pub/Sub 38 +[[https:~~/~~/redis.io/docs/manual/pubsub/>>url:https://redis.io/docs/manual/pubsub/]] 39 +|(% style="width:170px" %) |(% style="width:668px" %) | 40 +|(% style="width:170px" %)[[Кластер>>doc:Разработка.Базы данных.Механизмы.Кластер.WebHome]]|(% style="width:668px" %)((( 41 +|(% style="width:265px" %)Асинхронная [[Репликация ~~| Replication>>Разработка.Базы данных.Механизмы.Кластер.Репликация | Replication.WebHome]]|(% style="width:384px" %)((( 42 +master-slaves 43 + 44 +Распределяет нагрузку операций чтения. 45 +Повышает отказоустойчивость. 46 +))) 47 +|(% style="width:265px" %) |(% style="width:384px" %) 48 +)))|Redis replication 49 +[[https:~~/~~/redis.io/docs/manual/replication/>>https://redis.io/docs/manual/replication/]] 50 + 51 +---- 52 + 53 +pipelining vs transaction in redis 54 +[[https:~~/~~/stackoverflow.com/questions/29327544/pipelining-vs-transaction-in-redis>>https://stackoverflow.com/questions/29327544/pipelining-vs-transaction-in-redis]] 55 + 56 +Redis Cluster - transaction vs LUA script, which one results in a better performance? 57 +[[https:~~/~~/stackoverflow.com/questions/33625749/redis-cluster-transaction-vs-lua-script-which-one-results-in-a-better-perform>>https://stackoverflow.com/questions/33625749/redis-cluster-transaction-vs-lua-script-which-one-results-in-a-better-perform]] 58 + 59 +Redis: Pipelining, Transactions and Lua Scripts 60 +[[https:~~/~~/rafaeleyng.github.io/redis-pipelining-transactions-and-lua-scripts>>https://rafaeleyng.github.io/redis-pipelining-transactions-and-lua-scripts]] 61 + 62 +Шпаргалка по Redis 63 +[[https:~~/~~/habr.com/ru/post/204354/>>https://habr.com/ru/post/204354/]]