Redis--常用数据结构和编码方式

目录

一、引言

二、常用数据结构

1.字符串(String)

2.哈希(HashMap)

3.列表(List)

4.集合(Set)

5.有序集合(Zset)

三、总结


一、引言

本篇文章我们将介绍Redis中value的常用数据结构。

二、常用数据结构

Redis在底层源码实现中,对上述数据结构都进行了优化,内部具体实现的数据结构会存在变 数。

1.字符串(String)

数据类型:String,内部编码:raw (底层就是持有一个字节数组byte数组,比较长的字符串),int (value就是整数时,用int保存,方便保存以及算术运算),embstr(针对短字符串进行的特殊优化)

2.哈希(HashMap)

数据类型:Hash,内部编码:hashtable(最基本的Hash表),ziplist(在哈希表中元素比较少的时候,节省空间)

3.列表(List)

数据类型:List,内部编码:LinkedList(链表),ziplist(压缩列表),在Redis3.2开始,引入了新的实现方式,quickList,同时兼顾了上述两种的优点(quickList就是一个链表,每一个元素又是一个ziplist,同时兼顾了空间和效率)

4.集合(Set)

数据结构:Set,内部编码:hashtable(最基本的Hash表),intset(集合中存的都是整数)

5.有序集合(Zset)

除了存储member之外,还存储一个score(权重)

数据结构:zset,内部编码:skiplist(跳表也是链表,每个节点会有多个指针域,时间复杂度是O(N)),ziplist(压缩集合)

命令:

object encoding key

查看具体执行的编码:

三、总结

本篇文章简单介绍了在redis中的数据结构以及具体的编码方式,感谢观看!

相关推荐
段帅龙呀3 分钟前
Redis构建缓存服务器
服务器·redis·缓存
互联网搬砖老肖2 小时前
运维打铁: MongoDB 数据库集群搭建与管理
运维·数据库·mongodb
典学长编程3 小时前
数据库Oracle从入门到精通!第四天(并发、锁、视图)
数据库·oracle
积跬步,慕至千里4 小时前
clickhouse数据库表和doris数据库表迁移starrocks数据库时建表注意事项总结
数据库·clickhouse
极限实验室4 小时前
搭建持久化的 INFINI Console 与 Easysearch 容器环境
数据库
白仑色5 小时前
Oracle PL/SQL 编程基础详解(从块结构到游标操作)
数据库·oracle·数据库开发·存储过程·plsql编程
程序猿小D6 小时前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的个人财务管理系统,推荐!
java·数据库·mysql·spring·毕业论文·ssm框架·个人财务管理系统
钢铁男儿7 小时前
C# 接口(什么是接口)
java·数据库·c#
__风__8 小时前
PostgreSQL kv(jsonb)存储
数据库·postgresql
轩情吖8 小时前
Qt的第一个程序(2)
服务器·数据库·qt·qt creator·qlineedit·hello world·编辑框