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

数据结构和内部编码

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

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

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

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

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

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

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

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

相关推荐
扣丁梦想家6 分钟前
PostgreSQL 入门到精通 + Java & Spring Boot 实战教程
数据库·spring boot·postgresql
海奥华213 分钟前
分库分表技术详解:从入门到实践
数据库·后端·mysql·golang
p***95001 小时前
spring Profile
java·数据库·spring
一 乐1 小时前
宠物管理宠物医院管理|基于Java+vue的宠物医院管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·宠物
一 乐1 小时前
学习辅导系统|数学辅导小程序|基于java+小程序的数学辅导小程序设计与实现(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·学习·小程序
Olafur_zbj2 小时前
【AI】使用OCR处理pdf
数据库·pdf·ocr
就是ping不通的蛋黄派2 小时前
MySQL数据库 管理与维护
数据库·mysql
初听于你2 小时前
SQL常用语句解析:从查询到操作
数据库·sql
Jtti2 小时前
PHP项目缓存占用硬盘过大?目录清理与优化
java·缓存·php
weixin_446260853 小时前
Milvus:高效能的云原生向量数据库
数据库·云原生·milvus