Исходный код вики Механизмы

Версия 1.14 от Alexandr Fokin на 2022/10/26 14:22

Скрыть последних авторов
Alexandr Fokin 1.14 1 |(% style="width:170px" %)Конвейер
2 Pipelining|(% style="width:668px" %)Механизм, позволяющий накопить не|Redis pipelining
3 [[https:~~/~~/redis.io/docs/manual/pipelining/>>https://redis.io/docs/manual/pipelining/]]
Alexandr Fokin 1.6 4 |(% style="width:170px" %)Транзакции|(% style="width:668px" %)(((
Alexandr Fokin 1.13 5
Alexandr Fokin 1.6 6 )))|(((
Alexandr Fokin 1.13 7 [[Транзакции>>Разработка.Базы данных.NoSQL.Ключ-значение структура.Redis.Механизмы.Транзакции.WebHome]]
Alexandr Fokin 1.2 8 )))
Alexandr Fokin 1.4 9 |(% style="width:170px" %)Срок жизни|(% style="width:668px" %)Управление истечение ключа можно задать только на уровне всего элемента. (Т.е. нельзя удалить отдельный элемент List/Set/Hash и др., а только весь набор целиком).|
Alexandr Fokin 1.2 10 |(% style="width:170px" %)Постоянное хранение.
Alexandr Fokin 1.7 11 Persistent|(% style="width:668px" %)(((
Alexandr Fokin 1.9 12 |(% style="width:139px" %) |(% style="width:304px" %) |(% style="width:207px" %)
13 |(% style="width:139px" %)Snapshots|(% style="width:304px" %)Полный снимок оперативной памяти.
14 Есть блокирующий (без копирования) и неблокирующий (с копированием) режимы.
15 Также используется в механизме репликации.|(% style="width:207px" %)
16 |(% style="width:139px" %)AOF 
17 (Append Only File)|(% style="width:304px" %)Запись всех команд в файл.
Alexandr Fokin 1.10 18 Требует периодической оптимизации для уменьшения размера файла.|(% style="width:207px" %)[[File sync ~~| FSync>>Хостинг.Операционные системы.File sync | FSync.WebHome]] частота сброса буфера на носитель.
Alexandr Fokin 1.7 19 )))|Redis persistence
20 [[https:~~/~~/redis.io/docs/manual/persistence/>>https://redis.io/docs/manual/persistence/]]
Alexandr Fokin 1.2 21 |(% 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" %) |
22 |(% style="width:170px" %) |(% style="width:668px" %) |
23 |(% style="width:170px" %)Channel
24 Pub/Sub|(% style="width:668px" %)(((
25 Реализация модели издатель/подписчик.
Alexandr Fokin 1.3 26 После подключения к канаду клиент будет получать все сообщения, поступающие на канал (сообщения никак не распределяются между клиентами).
27 На стороне Redis выделяется буфер для хранения сообщений, еще не обработанных всеми клиентами. Если клиент сильно отстает в обработке сообщений (заполняя буфер), то он может быть отключен.
Alexandr Fokin 1.2 28
29 Каналы являются глобальными для ноды приложения, не вложены в пространство какой-либо базы данных.
30 )))|Redis Pub/Sub
31 [[https:~~/~~/redis.io/docs/manual/pubsub/>>url:https://redis.io/docs/manual/pubsub/]]
32 |(% style="width:170px" %) |(% style="width:668px" %) |
Alexandr Fokin 1.11 33 |(% style="width:170px" %)Кластер|(% style="width:668px" %)(((
34 |Репликация|(((
35 master-slaves
36
37 Распределяет нагрузку операций чтения.
38 Повышает отказоустойчивость.
39 )))
40 | |
41
42
43 )))|Redis replication
Alexandr Fokin 1.9 44 [[https:~~/~~/redis.io/docs/manual/replication/>>https://redis.io/docs/manual/replication/]]
Alexandr Fokin 1.2 45
Alexandr Fokin 1.14 46 ----
47
48 pipelining vs transaction in redis
49 [[https:~~/~~/stackoverflow.com/questions/29327544/pipelining-vs-transaction-in-redis>>https://stackoverflow.com/questions/29327544/pipelining-vs-transaction-in-redis]]
50
51 Redis Cluster - transaction vs LUA script, which one results in a better performance?
52 [[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]]
53
54 Redis: Pipelining, Transactions and Lua Scripts
55 [[https:~~/~~/rafaeleyng.github.io/redis-pipelining-transactions-and-lua-scripts>>https://rafaeleyng.github.io/redis-pipelining-transactions-and-lua-scripts]]