摘要
1、 Redis数据库中保存的键值对,键总是一个字符串对象,而值可以是字符串对象、列表对象、哈希对象、集合对象、有序集合对象;
Redis对象
Redis中对象都是由RedisObject结构表示,该结构中与数据保存有关的三个属性分别是type属性,encoding属性、ptr属性:
typedef struct redisObject{
// 类型
unsigned type:4;
// 编码
unsigned encoding:4;
// 指向底层实现数据结构的指针
void *ptr;
// ... 其他
} robj;
类型
RedisObject对象的属性"type"记录了对象的类型,也就是常说的Redis支持的5种数据类型;
类型常量 | 对象的名称 | type命令输出 |
---|---|---|
REDIS_STRING | 字符串对象 | “string” |
REDIS_LIST | 列表对象 | “list” |
REDIS_HASH | 哈希对象 | “hash” |
REDIS_SET | 集合对象 | “set” |
REDIS_ZSET | 有序集合对象 | “zset” |
编码和底层实现
encoding&#