Redis数据类型(一)-对象系统

2020-10-27  本文已影响0人  程序猿猴

Redis数据类型-Redis的对象系统

Redis有五种数据类型,String、List、Hash、Set、Zset,五种数据类型低层对应多种数据结构,比如简单动态字符串、双端链表、压缩列表、跳跃表、字典等。

Redis并没有直接使用这些数据结构来实现键值对数据库,而是另外构建了一个对象系统。

Redis中的每个对象都是由一个redisObject结构表示。从Redis安装包/src/server.h中可以看到结构定义

Redis五种对象类型,每种对象类型都至少使用了两种不同的编码。每个对象类型的编码对用户都是透明的,Redis会自适应的选择较优化的内部编码格式。比如Redis中字符串对象就使用三种编码:

通过上面的redisObject结构,我们可以看出,Redis的五种数据类型都可以用redisObject结构表示。比如字符串对象, type = OBJ_STRING; encoding = OBJ_ENCODING_RAW; *ptr指向具体的数据结构,就表示了一种字符串对象。

这边文章只是接下来讲Redis五种数据类型的基础,单独看比较枯燥。先了解下Redis的对象系统,有助于后面的学习。 Redis数据结构

文章持续更新,欢迎大家关注我公众号,微信搜索「易大师的小屋」。

上一篇 下一篇

猜你喜欢

热点阅读