• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

redis当中的对象模型

redis 海叔叔 2天前 5次浏览 已收录 0个评论

之前写了redis当中的底部实现以及几种类型的简单命令,今天来聊一聊redis当中的对象模型~~
redis为每种外部可以访问到的数据结构提供了一个叫做对象类型的抽象,其底层实现是基于之前咱们讲过的adlist,ziplist等等那一堆,其对外隐藏了这些细节转而实现大家都知道的在文档当中介绍的命令。其实,在我们在redis当中创建某个数据类型的时候,redis为我们至少创建了两个对象,一个对象是存储该数据类型的名称的字符串对象,另一个就是实际存储这个数据类型的对象了。
在redis当中,其每一个对象都用一个redisObject结构体来表示,其展示如下:

其中type和encoding分别表示当前对象的种类以及编码类型,具体取值见下面的代码:

lru记录的是内存置换策略,refcount是引用当前对象的个数,ptr则指向底层的具体实现,具体的一些限制如下:

后续会单独介绍单独对象的实现方式


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址