Мы пытаемся написать PowerShell script, который вызывает внешнее приложение - клиент Redis (redis-cli.exe
) - и затем отправляет несколько команд этому .exe. У нас нет проблем с отправкой отдельных команд, как показано ниже:
& redis-cli -h localhost -p 6379 SMEMBERS someKey
Проблема заключается в том, что это запустит клиент Redis, выдаст одну команду, закроет клиент и вернет управление PowerShell. Нам нужно выдать несколько команд в транзакции. Например, вот команды, которые мы хотим отправить клиенту:
MULTI
DEL someKey
DEL someSet
EXEC
Клиент Redis поддерживает отправку строки LUA script в качестве команды, но это, к сожалению, не поддерживает транзакционные команды MULTI/EXEC. Другими словами, мы должны иметь возможность выпускать несколько команд, подобных перечисленным выше.