Изменения документа Механизмы

Редактировал(а) Alexandr Fokin 2023/12/16 14:13

<
От версии < 1.2 >
отредактировано Alexandr Fokin
на 2022/10/19 15:17
К версии < 1.13 >
отредактировано Alexandr Fokin
на 2022/10/21 23:14
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,24 +1,43 @@
1 -|(% style="width:170px" %)Транзакции|(% style="width:668px" %)Есть поддержка пессимистичных транзакций, на время выполнения которых Redis выполняет только команды данной транзакции, а другие клиенты ожидают ее завершения.
2 -Есть поддержка оптимистичных транзакций для действий, изменяющих данные, с возможностью указать кол-во повторных попыток в случае неудачи.|(((
3 -Как же работают транзакции в Redis
4 -[[https:~~/~~/habr.com/ru/post/165223/>>url:https://habr.com/ru/post/165223/]]
5 -
6 -Как работает Redis при одновременном доступе нескольких клиентов?
7 -[[https:~~/~~/ru.stackoverflow.com/questions/876405/Как-работает-redis-при-одновременном-доступе-нескольких-клиентов>>url:https://ru.stackoverflow.com/questions/876405/Как-работает-redis-при-одновременном-доступе-нескольких-клиентов]]
1 +|(% style="width:170px" %)Транзакции|(% style="width:668px" %)(((
2 +
3 +)))|(((
4 +[[Транзакции>>Разработка.Базы данных.NoSQL.Ключ-значение структура.Redis.Механизмы.Транзакции.WebHome]]
8 8  )))
9 -|(% style="width:170px" %)Срок жизни|(% style="width:668px" %) |
6 +|(% style="width:170px" %)Срок жизни|(% style="width:668px" %)Управление истечение ключа можно задать только на уровне всего элемента. (Т.е. нельзя удалить отдельный элемент List/Set/Hash и др., а только весь набор целиком).|
10 10  |(% style="width:170px" %)Постоянное хранение.
11 -Persistent|(% style="width:668px" %) |
8 +Persistent|(% style="width:668px" %)(((
9 +|(% style="width:139px" %) |(% style="width:304px" %) |(% style="width:207px" %)
10 +|(% style="width:139px" %)Snapshots|(% style="width:304px" %)Полный снимок оперативной памяти.
11 +Есть блокирующий (без копирования) и неблокирующий (с копированием) режимы.
12 +Также используется в механизме репликации.|(% style="width:207px" %)
13 +|(% style="width:139px" %)AOF 
14 +(Append Only File)|(% style="width:304px" %)Запись всех команд в файл.
15 +Требует периодической оптимизации для уменьшения размера файла.|(% style="width:207px" %)[[File sync ~~| FSync>>Хостинг.Операционные системы.File sync | FSync.WebHome]] частота сброса буфера на носитель.
16 +)))|Redis persistence
17 +[[https:~~/~~/redis.io/docs/manual/persistence/>>https://redis.io/docs/manual/persistence/]]
12 12  |(% 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" %) |
13 13  |(% style="width:170px" %) |(% style="width:668px" %) |
14 14  |(% style="width:170px" %)Channel
15 15  Pub/Sub|(% style="width:668px" %)(((
16 16  Реализация модели издатель/подписчик.
17 -Сообщение получают все подписчики, подключенные к каналу на момент поступления сообщения.
23 +После подключения к канаду клиент будет получать все сообщения, поступающие на канал (сообщения никак не распределяются между клиентами).
24 +На стороне Redis выделяется буфер для хранения сообщений, еще не обработанных всеми клиентами. Если клиент сильно отстает в обработке сообщений (заполняя буфер), то он может быть отключен.
18 18  
19 19  Каналы являются глобальными для ноды приложения, не вложены в пространство какой-либо базы данных.
20 20  )))|Redis Pub/Sub
21 21  [[https:~~/~~/redis.io/docs/manual/pubsub/>>url:https://redis.io/docs/manual/pubsub/]]
22 22  |(% style="width:170px" %) |(% style="width:668px" %) |
30 +|(% style="width:170px" %)Кластер|(% style="width:668px" %)(((
31 +|Репликация|(((
32 +master-slaves
23 23  
34 +Распределяет нагрузку операций чтения.
35 +Повышает отказоустойчивость.
36 +)))
37 +| |
38 +
24 24  
40 +)))|Redis replication
41 +[[https:~~/~~/redis.io/docs/manual/replication/>>https://redis.io/docs/manual/replication/]]
42 +
43 +