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

Версия 1.11 от Alexandr Fokin на 2022/10/19 16:34

Последние авторы
1 |(% style="width:170px" %)Транзакции|(% style="width:668px" %)(((
2 Есть поддержка пессимистичных транзакций, на время выполнения которых Redis выполняет только команды данной транзакции, а другие клиенты ожидают ее завершения.
3
4 Есть поддержка оптимистичных транзакций для действий, изменяющих данные, с возможностью указать кол-во повторных попыток в случае неудачи.
5 )))|(((
6 Transactions
7 [[https:~~/~~/redis.io/docs/manual/transactions/>>https://redis.io/docs/manual/transactions/]]
8
9 Как же работают транзакции в Redis
10 [[https:~~/~~/habr.com/ru/post/165223/>>url:https://habr.com/ru/post/165223/]]
11
12 Как работает Redis при одновременном доступе нескольких клиентов?
13 [[https:~~/~~/ru.stackoverflow.com/questions/876405/Как-работает-redis-при-одновременном-доступе-нескольких-клиентов>>url:https://ru.stackoverflow.com/questions/876405/Как-работает-redis-при-одновременном-доступе-нескольких-клиентов]]
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 )))|Redis persistence
26 [[https:~~/~~/redis.io/docs/manual/persistence/>>https://redis.io/docs/manual/persistence/]]
27 |(% 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" %) |
28 |(% style="width:170px" %) |(% style="width:668px" %) |
29 |(% style="width:170px" %)Channel
30 Pub/Sub|(% style="width:668px" %)(((
31 Реализация модели издатель/подписчик.
32 После подключения к канаду клиент будет получать все сообщения, поступающие на канал (сообщения никак не распределяются между клиентами).
33 На стороне Redis выделяется буфер для хранения сообщений, еще не обработанных всеми клиентами. Если клиент сильно отстает в обработке сообщений (заполняя буфер), то он может быть отключен.
34
35 Каналы являются глобальными для ноды приложения, не вложены в пространство какой-либо базы данных.
36 )))|Redis Pub/Sub
37 [[https:~~/~~/redis.io/docs/manual/pubsub/>>url:https://redis.io/docs/manual/pubsub/]]
38 |(% style="width:170px" %) |(% style="width:668px" %) |
39 |(% style="width:170px" %)Кластер|(% style="width:668px" %)(((
40 |Репликация|(((
41 master-slaves
42
43 Распределяет нагрузку операций чтения.
44 Повышает отказоустойчивость.
45 )))
46 | |
47
48
49 )))|Redis replication
50 [[https:~~/~~/redis.io/docs/manual/replication/>>https://redis.io/docs/manual/replication/]]
51
52