Я пытаюсь кое-что с Redis и PHP, и я столкнулся с проблемой, когда дело дошло до SETS
а также SMEMBERS
,
Я использую Symfony2 и SncRedisBundle
,
$redis->multi();
// Some stuff
$result = $redis->smembers("myset");
var_dump($result);
die();
$redis->exec();
Вот свалка
object(Redis)[990]
public 'socket' => resource(841, Redis Socket Buffer)
Я немного застрял сейчас, я не знаю, как я могу работать с результатом, так как в документации php-redis нет ничего действительно видимого или объясненного.
Кто-нибудь может мне помочь?
Вы должны проверить результат $ redis-> exec () вместо результата smembers. Принцип блоков MULTI / EXEC заключается в том, что выполнение команд задерживается до команды EXEC. На этом этапе все команды выполняются атомарно, а их результаты отправляются обратно клиенту.
Смотрите этот пример: https://github.com/nicolasff/phpredis#transactions
Обратите внимание, что использование блока MULTI / EXEC с одной командой внутри не имеет смысла и не дает никаких преимуществ.
Других решений пока нет …