can predis hmget使用array作为多个字段的参数

时间:2014-02-13 03:24:57

标签: php redis predis

可以使用数组作为hmget()的第二个参数来一次检索多个字段吗?例如 $ client-> hmget($ key,$ fields); // $ fields是一个数组

它是否也可以接受字符串的许多参数作为字段?例如。: $ client-> hmget($ key,$ field1,$ field2,$ field3);

3 个答案:

答案 0 :(得分:6)

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"));

选择使用哪一个实际上只是一个偏好问题。

答案 1 :(得分:0)

来自Predis资料库

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

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

答案 2 :(得分:0)

您可以尝试以下方法:

$pd =  $redis->hmget("regconfig" ,array("cont_mgr"));
print_r($pd);