Транзакции
Transactions Как же работают транзакции в Redis | |||||||
| |||||||
Шаблон транзакции - оптимистичной блокировки. | Команда MULTI обозначает, что все команды, идущие после и выполняющие изменение данных, будут накапливаться и будут выполнены при вызове команды EXEC. // Устанавливаем наблюдение за ключом WATCH mykey // Считываем значение в переменную и обновляем ее val = GET mykey val = val + 1 // Запускаем обновляющую транзакцию // Транзакция накладывает свои свойства только на команды обновления данных. // Поэтому считыванием значений мы выполняем до Multi. MULTI SET mykey $val EXEC //В случае, если в процессе выполнения значение по ключу mykey будет изменено операциями других сессий (относительно захваченного в watch значения), то запрос завершится ошибкой. |