Redis | 什么是对象?

目录

一、前言

(1)什么是对象

(2)使用对象的好处

二、对象的类型与编码

(1)类型

(2)编码和底层实现

(三)字符串对象

(四)列表对象

(五)哈希对象

(六)集合对象

(七)有序集合对象

(八)类型检查与命令多态

(九)内存回收

(十)对象共享


一、前言

(1)什么是对象

        在前面的博文里,我们陆续介绍了 Redis用到的所有主要数据结构,比如简单动态字符串(SDS)、双端链表、字典、压缩列表、整数集合等等。但Redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,这个系统包含

  • 字符串对象
  • 列表对象
  • 哈希对象
  • 集合对象
  • 有序集合对象

这五种类型的对象,每种对象都用到了至少一种我们前面所介绍的数据结构。通过这五种不同类型的对象, Redis可以在执行命令之前,根据对象的类型来判断一个对象是否可以执行给定的命令。

(2)使用对象的好处

        使用对象的好处是,我们可以针对不同的使用场景,为对象设置多种不同的数据结构实现,从而优化对象在不同场景下的使用效率。
        除此之外, Redis的对象系统还实现了基于引用计数技术的内存回收机制,当程序不再
使用某个对象的时候,这个对象所占用的内存就会被自动释放。另外, Redis还通过引用计
数技术实现了对象共享机制,这一机制可以在适当的条件下,通过让多个数据库键共享同一
个对象来节约内存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值