2

我正在尝试使用 Redis 和 PHP 进行一些操作,但在使用SETSand时遇到了问题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 文档中没有任何真正可见或解释的内容。

有人能帮我吗?

4

1 回答 1

0

你应该检查 $redis->exec() 的结果而不是 smembers 的结果。MULTI/EXEC 块的原理是命令执行延迟到 EXEC 命令。此时,所有命令都以原子方式执行,并将其结果发送回客户端。

请参阅此示例:https ://github.com/nicolasff/phpredis#transactions

请注意,使用内部只有一个命令的 MULTI/EXEC 块是没有意义的,并且不会带来任何好处。

于 2014-10-29T16:14:43.323 回答