4.Redis数据类型的编码方式

数据结构和内部编码

type 命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串)、list(列表)、hash(哈希)、set(集合)、zset(有序集合),但这些只是 Redis 对外的数据结构。

Redis 底层在实现上述数据结构的时候,会在源码层面,针对上述实现进行特定的优化,来达到节省 时间 / 空间 的效果

其中内部的具体实现的数据结构(编码方式不同)还有变数。

redis 承诺,现在当前有一个 hash 表,你可以进行 查询,插入,删除操作都保证时间复杂度为O(1),但是这个背后的实现不一定就是一格标准的hash表,可能在特定场景下,使用别的数据结构实现,但是仍然保证时间复杂度符合要求。

数据结构:redis 承诺给你使用的,可以理解成数据类型

编码方式:redis 内部底层的实现

同一个数据类型,背后可能的编码实现方式是不同的,会根据特定场景优化,其中不同数据类型对应的具体实现具体大致如下图所示:

例如下图创建了不同的数据类型,可以发现下图中几种key都被优化成其他类型了。

相关推荐
c2385642 分钟前
MySQL 基础用法(上):库表管理与数据增删改
c语言·数据库·c++·mysql
jnrjian2 小时前
postgres database 更换用户
数据库·postgresql
無a伟3 小时前
redis缓存完整详解
数据库·redis·缓存
G31135422734 小时前
大模型不可用时,业务还能不能继续:企业需要设计降级方案
大数据·服务器·数据库·人工智能·深度学习
VALENIAN瓦伦尼安教学设备4 小时前
激光对中仪采购要点
数据库·嵌入式硬件·算法
码农颜5 小时前
5.2.2 隔离级别
数据库·mysql
微三云 - 廖会灵 (私域系统开发)5 小时前
基于 OPC 流程控制的抖店集群 SaaS 平台设计与渠道分账系统实现
数据库
骇客野人5 小时前
MySQL 信创化迁移至 PolarDB-X 整体实施方案
数据库·mysql
计科土狗6 小时前
GESP六级专题之类与对象
java·前端·数据库
麦聪聊数据6 小时前
数据治理 ROI(下):算清投入产出比,小切口落地快速验证价值
数据库