我正在尝试使用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文档中没有真正可见或解释过。
有人可以帮助我吗?
答案 0 :(得分:0)
你应该检查$ redis-> exec()的结果而不是smembers的结果。 MULTI / EXEC块的原理是命令执行被延迟到EXEC命令。此时,所有命令都以原子方式执行,并将结果发送回客户端。
请参阅此示例:https://github.com/nicolasff/phpredis#transactions
请注意,在内部只使用一个命令使用MULTI / EXEC块是没有意义的,并没有带来任何好处。