
通過(guò)get命令只能獲取單個(gè)key的值,如果想獲取多個(gè)key的值,可以通過(guò)mget命令來(lái)實(shí)現。mget返回所有指定key的值。
格式:
mget key [key …]
Redis所有的key-value存儲在redisDb的dict中,所以通過(guò)一個(gè)for循環(huán),就可以依次從數據庫中獲取到key-value。
void mgetCommand(client *c) {
int j;
addReplyArrayLen(c,c->argc-1);
for (j = 1; j < c->argc; j++) {
robj *o = lookupKeyRead(c->db,c->argv[j]);
if (o == NULL) {
addReplyNull(c);
} else {
if (o->type != OBJ_STRING) {
addReplyNull(c);
} else {
addReplyBulk(c,o);
}
}
}
}