redis源码从main开始9中查看了dbsize、exists、del命令,本章我们来看redis的对象类型,redis目前有5种类型,分别为string、list、set、zset、hash

1.查询键类型
type key
// 127.0.0.1:6379> type aa
// string
// redis对象有五种类型
void typeCommand(redisClient *c) {
    robj *o;
    char *type;

    o = lookupKeyRead(c->db,c->argv[1]);

    if (o == NULL) {
        type = "none";
    } else {
        switch(o->type) {
        case REDIS_STRING: type = "string"; break;
        case REDIS_LIST: type = "list"; break;
        case REDIS_SET: type = "set"; break;
        case REDIS_ZSET: type = "zset"; break;
        case REDIS_HASH: type = "hash"; break;
        default: type = "unknown"; break;
        }
    }

    addReplyStatus(c,type);
}

//这里知道redis的对象会有五种类型,分别为string、list、set、zset、hash
/* Object types */
// 对象类型
#define REDIS_STRING 0
#define REDIS_LIST 1
#define REDIS_SET 2
#define REDIS_ZSET 3
#define REDIS_HASH 4

// 127.0.0.1:6379> set type_string sss
// OK
// 127.0.0.1:6379> lpush type_list 1
// (integer) 1
// 127.0.0.1:6379> sadd type_set 1
// (integer) 1
// 127.0.0.1:6379> zadd type_zset 100 a100
// (integer) 1
// 127.0.0.1:6379> hset type_hset aaa 100
// (integer) 1
// 127.0.0.1:6379> type type_string
// string
// 127.0.0.1:6379> type type_list
// list
// 127.0.0.1:6379> type type_set
// set
// 127.0.0.1:6379> type type_zset
// zset
// 127.0.0.1:6379> type type_hset
// hash
// 127.0.0.1:6379> 

基于版本3.0.0版本,点击下载https://download.redis.io/releases/redis-3.0.0.tar.gz

本文地址,https://www.ccagml.com/?p=404

发表评论