【Redis源码】mget命令

6a50982d1e178cb8929f44f00a4340f2.jpg

通过get命令只能获取单个key的值,如果想获取多个key的值,可以通过mget命令来实现。mget返回所有指定key的值。

格式:

mget key [key …]

Redis所有的key-value存储在redisDb的dict中,所以通过一个for循环,就可以依次从数据库中获取到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);
            }
        }
    }
}
# redis  转载  源码 

标 题:《【Redis源码】mget命令
作 者:zeekling
提 示:转载请注明文章转载自个人博客:小令童鞋

评论

取消