【Redis源码】mget命令

2022-08-26 19:35:21 浏览数 (1)

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

格式:

代码语言:javascript复制
mget key [key …]

Redis所有的key-value存储在redisDb的dict中,所以通过一个for循环,就可以依次从数据库中获取到key-value。

代码语言:javascript复制
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);
            }
        }
    }
}

0 人点赞