Я хочу использовать скрипт lua для выполнения атомарной операции Redis с использованием расширения php / reids, поэтому мой код:
$command = "
local hashes = redis.call('smembers', ARGV[1])
for hash in pairs(hashes) do
local keys = redis.call('hkeys', hash)
for key in pairs(keys) do
redis.call('hset', key, 0)
end
end
return 1
";
$result = $this->redisClient->evaluate($command, [self::ALL_HASHES]);
этот скрипт должен принимать все доступные хэши из набора self::ALL_HASHES
, проходить через каждыйхэш, и установите значение для каждого ключа хэш-функции равным 0. Скрипт проходит, и $error = $this->redisClient->getLastError();
равен null
, но значения не равны 0. Что я делаю неправильно?Я новичок в Lua, это мой первый сценарий.