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

数据结构和内部编码

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

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

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

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

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

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

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

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

相关推荐
一个处女座的程序猿O(∩_∩)O6 分钟前
性能调优实战:金仓数据库连接条件下推原理与案例拆解
数据库·oracle
数据知道30 分钟前
MongoDB认证机制实战:详细讲述SCRAM-SHA与X.509证书认证配置
数据库·mongodb
雷工笔记44 分钟前
KingFusion 关系库查询核心:SQLQuery 与 AsynSQLQuery 函数全解析
数据库
zopple44 分钟前
Knife4j文档请求异常(基于SpringBoot3,查找原因并解决)
java·服务器·数据库
执笔为剑1 小时前
docker环境升级数据库
数据库·docker·容器
清水白石0081 小时前
Python 弱引用深度解析——让缓存不再成为内存泄漏的温床
java·python·缓存
数据知道1 小时前
MongoDB审计日志配置:详细讲述满足合规性要求的安全记录
数据库·安全·mongodb
難釋懷1 小时前
Redis搭建哨兵集群
数据库·redis·缓存
璞~1 小时前
安装达梦数据库
数据库
oioihoii1 小时前
数据库查询优化中的谓词下推策略与成本感知优化实践
服务器·数据库·oracle