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