05-简便用法
5.1.3 简便用法
为了使开发更方便,Predis为许多命令额外提供了简便用法,这里选择几个典型的用法依次介绍。
1. MGET/MSET
Predis调用 MSET 命令时支持将PHP的关联数组直接作为参数,就像这样:
$userName = array(
'user:1:name' => 'Tom',
'user:2:name' => 'Jack'
);
// 相当于 $redis->mset('user:1:name', 'Tom', 'user:2:name', 'Jack');
$redis->mset($userName);
同样 MGET 命令支持一个数组作为参数:
$users = array_keys($userName);
print_r($redis->mget($users));
打印的结果为:
Array
(
[0] => Tom
[1] => Jack
)
2. HMSET/HMGET/HGETALL
Predis调用 HMSET 的方式和 MSET 类似,如:
$user1 = array(
'name' => 'Tom',
'age' => '32'
);
$redis->hmset('user:1', $user1);
HMGET 与 MGET 类似,不再赘述。最方便的是 HGETALL 命令,Predis会将Redis返回的结果组装成关联数组返回:
$user = $redis->hgetall('user:1');
echo $user['name']; // 'Tom'
3. LPUSH/SADD/ZADD
LPUSH 和 SADD 的调用方式类似:
$items = array('a', 'b');
// 相当于$redis->lpush('list', 'a', 'b');
$redis->lpush('list', $items);
// 相当于$redis->sadd('set', 'a', 'b');
$redis->sadd('set', $items);
而 ZADD 的调用方式为:
$itemScore = array(
'Tom' => '100',
'Jack' => '89'
);
// 相当于$redis->zadd('zset', '100', 'Tom', '89', 'Jack');
$redis->zadd('zset', $itemScore);
4. SORT
在Predis中调用 SORT 命令的方式和其他命令不同,必须将 SORT 命令中除键名外的其他参数作为关联数组传入到函数中。如对 SORT mylist BY weight_* LIMIT 0 10 GET value_* GET # ASC ALPHA STORE result 这条命令而言,使用Predis的调用方法如下:
$redis->sort('mylist', array(
'by' => 'weight_*',
'limit' => array(0, 10),
'get' => array('value_*', '#'),
'sort' => 'asc',
'alpha' => true,
'store' => 'result'
));