2014-10-29 29 views
2

我正在嘗試使用Redis和PHP進行一些操作,並且在與SETSSMEMBERS一起使用時遇到了問題。PHPRedis和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

它似乎工作正常,當我們刪除'MULTI .. EXEC' – GeoffreyB 2014-10-29 14:49:44

回答

0

您應該檢查$ redis-> exec()的結果而不是smembers的結果。 MULTI/EXEC塊的原理是命令執行延遲到EXEC命令。此時,所有命令都會以原子方式執行,並將其結果發送回客戶端。

見這個例子:https://github.com/nicolasff/phpredis#transactions

注意,在使用MULTI/EXEC塊裏面只有一個命令是沒有意義的,不會帶來任何好處。

+0

是正確的,謝謝你的回答。 – GeoffreyB 2014-10-30 11:48:25

相關問題