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

数据结构和内部编码

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

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

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

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

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

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

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

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

相关推荐
qiuyunoqy几秒前
Redis 常见数据结构,编码方式
数据库·redis·缓存
qq_424098564 分钟前
HTML5中解决数据库版本号管理混乱的规范化建议
jvm·数据库·python
Irene19919 分钟前
Python下载第三方库:requests、oracledb,连接 Oracle 数据库,测试数据输出(切记不要操作或删除系统表)
数据库·python·oracledb
四维迁跃14 分钟前
HTML5中SVG利用Javascript实现图形拖拽与缩放
jvm·数据库·python
我们的五年18 分钟前
mysql报错,net_async_status
数据库·mysql·adb
Wild API19 分钟前
Prompt 缓存实战:上下文分层、背景层拆分与缓存策略怎么做
缓存·prompt
hINs IONN26 分钟前
在Mysql环境下对数据进行增删改查
数据库·mysql
Chuer_26 分钟前
AI For BI是什么?一文拆解AI For BI应用落地!
大数据·数据库·人工智能·安全·数据分析·甘特图
一颗青果31 分钟前
数据库事务
数据库·oracle
weixin_4249993633 分钟前
html如何修改备注
jvm·数据库·python