2014-02-13 95 views

回答

5

Predis支持可變參數Redis命令傳遞多個密鑰(或多個密鑰與值)的兩種方式。第一種基本上遵循由Redis documentation所限定,因此,使用HMSETHMGET作爲例子,你將有命令的相同的簽名:

$redis->hmset("hash", "field:1", "value:1", "field:2", "value:2"); 
$values = $redis->hmget("hash", "field:1", "field:2"); 

但也可以通過鍵和/或值的列表中作爲一個單一的數組參數:

$redis->hmset("hash", array("field:1" => "value:1", "field:2" => "value:2")); 
$values = $redis->hmget("hash", array("field:1", "field:2")); 

選擇使用哪一個實際上只是一個偏好問題。

+0

對不起,@ nrk只有第二種方法適用於我。文檔https://github.com/phpredis/phpredis#hmget表明它是一個數組。第一種方法返回false。它是否依賴於特定的版本? –

+0

@SanathBallal phpredis不是Predis,這個問題(和我的答案)與後者有關。 – nrk

+0

沒錯。謝謝@ nrk –

0

從Predis庫

$redis->hmset('metavars', 'foo', 'bar', 'hoge', 'piyo', 'lol', 'wut'); 

$redis->hmget('metavars', 'foo', 'hoge', 'unknown')); 
+1

這是不好的投票下來的問題。當你不是100%確定並且只是想澄清1%的不確定性時有什麼問題 –

相關問題