Redis do c, кажется, подтверждает, что сценарии EVAL слишком похожи на MULTI / EXE C транзакции.
По моим словам, этот сценарий LUA гарантирует две вещи:
- последовательно: скрипт lua запускается так, как будто он один на сервере, это нормально для меня
- atomi c / one shot пишет: это не понятно с LUA скрипты. когда вызывается «EXE C like» в сценариях LUA? Потому что с помощью сценариев вы можете выполнять условную запись на основе чтения (или даже записи, потому что некоторые записи возвращают значения, подобные функциям NX). Итак, как можно восстановить, что все или ничего выполняется с помощью сценариев? Что произойдет, если сервер обработает sh в середине скрипта? Откат невозможен с Redis.
(у меня нет этой проблемы с MULTI / EXE C по этому второму пункту, потому что с MULTI / EXE C вы не можете делать записи на основе по предыдущим командам)
(извините за основы c engli sh, я француз)