Механизмы
Параллелизм | Для входящих запросов используется 1 процесс и 1 поток. Базовые операции являются атомарными. | ||||||||||
Конвейер Pipelining | Механизм, позволяющий накопить несколько команд, а потом отправить их одним запросом, чтобы оптимизировать сетевое взаимодействие. !В отличии от транзакции допускается, что во время выполнения группы команд, может быть выполнена команда из другого соединения. | Redis pipelining https://redis.io/docs/manual/pipelining/ | |||||||||
Транзакции |
| ||||||||||
Срок жизни | Управление истечение ключа можно задать только на уровне всего элемента. (Т.е. нельзя удалить отдельный элемент List/Set/Hash и др., а только весь набор целиком). | ||||||||||
Постоянное хранение. Persistent |
| Redis persistence https://redis.io/docs/manual/persistence/ | |||||||||
Lua скрипты | Lua скрипт API | ||||||||||
Channel Pub/Sub | Реализация модели издатель/подписчик. Каналы являются глобальными для ноды приложения, не вложены в пространство какой-либо базы данных. | Redis Pub/Sub https://redis.io/docs/manual/pubsub/ | |||||||||
Кластер |
| Redis replication https://redis.io/docs/manual/replication/ |
pipelining vs transaction in redis
https://stackoverflow.com/questions/29327544/pipelining-vs-transaction-in-redis
Redis Cluster - transaction vs LUA script, which one results in a better performance?
https://stackoverflow.com/questions/33625749/redis-cluster-transaction-vs-lua-script-which-one-results-in-a-better-perform
Redis: Pipelining, Transactions and Lua Scripts
https://rafaeleyng.github.io/redis-pipelining-transactions-and-lua-scripts
Шпаргалка по Redis
https://habr.com/ru/post/204354/