redis对应的数据类型及其底层原理

举报
知识浅谈 发表于 2022/09/18 11:44:20 2022/09/18
【摘要】 redis对应的数据类型及其底层原理

在这里插入图片描述

🍁 作者:知识浅谈,CSDN博客专家,阿里云签约博主,InfoQ签约博主,华为云云享专家
📌 擅长领域:全栈工程师、爬虫、ACM算法
💒 公众号:知识浅谈

redis对应的数据类型及其底层原理总结
🤞这次都给他拿下🤞

正菜来了⛳⛳⛳

🎈redis对应的数据类型

String:字符串类型。
List:列表类型
Hash:hash类型,即键值对类型。
Set:set集合类型。
Zset:sortedSet有序集合类型。

🎈底层原理

因为redis是用C语言编写的底层实现,所以其底层也是基于C语言中的类型和自定义的Struct类型的实现。

📍String :

在C语言中如果是数字小于2^64-1 使用int存储,其它字符串在redis新版本上如果小于44字节,是哦也能够embstr(压缩字符串),否则使用raw,两者都是基于sds(简单动态字符串结构)实现,区别就是sds object和数据是分开的。

📍List:

当列表个数小于512且单个元素小于64字节,使用压缩列表ziplist,否则使用双向循环列表

📍Hash:

当列表个数小于512且单个元素小于64字节,使用压缩列表ziplist,否则使用散列表

📍Set:

存储的数据是整数,且不超过512个,使用有序数组存储,否则使用散列表

📍Zset:

当列表个数小于512且单个元素小于64字节,使用压缩列表ziplist,否则使用跳表,zset排序是每个元素对应一个score值,按照这个值排序的。

🍚总结

以上就是关于redis对应的数据类型及其底层原理的总结,希望对你有所帮助。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。