Для read-modify-write можно выполнить проверку и изменение одним коротким Lua-скриптом в Redis. Другие команды не вклиниваются между его шагами.
Каким образом вы реализовали атомарность записи в Redis? Какой алгоритм использовали (Lua-скрипт)?
Для read-modify-write можно выполнить проверку и изменение одним коротким Lua-скриптом в Redis. Другие команды не вклиниваются между его шагами.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для read-modify-write можно выполнить проверку и изменение одним коротким Lua-скриптом в Redis. Другие команды не вклиниваются между его шагами.
Например, скрипт читает версию записи, сравнивает с ожидаемой и обновляет значение вместе с версией. Проверяйте аргументы до записи: атомарное выполнение не означает автоматический rollback уже выполненных команд при ошибке. В Redis Cluster связанные ключи должны попадать в один hash slot. Для простой операции сначала рассмотрите встроенную атомарную команду.