当前位置: 首页 > news >正文

零基础学习Redis(4) -- 常用数据结构介绍

我们之前提到过,redis中key只能是字符串类型,而value有多种类型。

redis中的数据结构有自己独特的实现方式能根据特定的场景进行优化

1. string(字符串)

内部编码:

  1. raw:最基本的字符串,类比我们平常使用的String
  2. int:当value是一个整数时可能会直接使用一个int来存
  3. embstr:短字符串,针对短字符串进行特殊优化 

可以通过命令查看value的实际编码方式:

object encoding key 

2. hash(哈希表) 

内部编码:

  1. hashtable:哈希表,这里的hashtable并非Java中的hashtable,但实现思想大致相同
  2. ziplist:压缩列表,hash表中元素比较少的时候会优化为ziplist节省空间

3. lsit(列表)

内部编码:

  1. inkedlist:链表
  2. ziplist:压缩列表,同样链表中元素少时会优化为ziplist节省空间

4. set(集合) 

内部编码:

  1. hashtable:哈希表
  2. intset:集合中都是整数会优化为intset

5. zset(有序集合)

 zset会额外存储一个score(权重,分数)用于排序

内部编码:

skiplist:跳表,跳表也是链表,每个节点上有多个指针域,通过这些搭配指针域的指向实现O(logN)的查询复杂度

http://www.lryc.cn/news/427902.html

相关文章:

  • Python实现水果忍者(开源)
  • Windows自动化3️⃣WindowsPC拽起时长问题解决方案
  • 一篇文章入门Java虚拟机(JVM)
  • vue3里面的组件实例类型(包括原生的html标签类型)
  • 谷歌正式开放Imagen 3访问权限!OpenAI的GPT-4o连续两周迎来两次更新!|AI日报
  • C语言内存操作函数
  • 深入探索 PyTorch:torch.nn.Parameter 与 torch.Tensor 的奥秘
  • 成为Python砖家(1): 在本地查询Python HTML文档
  • 深度学习基础—RMSprop算法与Adam 优化算法
  • 单片机原理及技术(六)—— 中断系统的工作原理
  • Angular路由使用
  • 【JVM】深入理解类加载机制(一)
  • 区块链浏览器需求整理
  • Laravel 表单验证功能重定向判断
  • MATLAB口罩检测系统
  • LeetCode 第三十一天 2024.8.18
  • Linux驱动学习之点灯(一)
  • 从HTTP到HTTPS:SSL加密如何重塑互联网安全格局
  • QT网络编程: 实现UDP通讯设置
  • 机器学习第十一章--特征选择与稀疏学习
  • dm 到 dm 的 HS 同步部署
  • ShardingSphere、雪花算法、分布式id生成器CosID概述
  • hive学习(四)
  • UniAD_面向规划的自动驾驶
  • 《现代情报》
  • 2024年最新上榜的文件加密管理软件
  • Matplotlib库学习之scatter(模块)
  • 脑网络相似性:方法与应用
  • 【JavaEE】深入MyBatis:动态SQL操作与实战项目实现指南
  • Linux 实操-权限管理:深入了解rwx的作用