Redis初识第二期---数据类型

Redis的key类型只能为String,但是value的类型却有很多种,这里列出常见的五种类型:

1.String

2.hash

3.set

4.list

5.有序的set == set + 权重

Redis内部采用自动适应的方式来实现数据类型,比如说String在,某些情况下采用int,某些情况下采用row,但总体和String类型用法一样。可以使用Object encoding key 方法来查看value具体的数据类型。

下面是数据类型的具体情况:

1.String

可能类型:

row:最基本的类型,相当于byte\[\];

int: 当value为整数时。

embstr:针对短字符进行优化,占的空间更小。

2.Hash

可能类型:

hashtable:最基本的哈希表,但是不等于Java中的HashTable。

ziplist:当元素较少时,优化为ziplist来节省空间。

3.List

可能类型:

1.linkedlist:相当于普通的链表。

2.ziplist:也是在元素较少时使用。

但是在Redis3.2后引入了qicklist,代替了linkedlist和ziplist,qicklist本身为一个链表,每个元素为ziplist,可以说是同时兼顾了两者的优点。

4.Set

可能类型:

hashtable:最基本的哈希表。

intset:当都为整数时,优化为intset。

5.Zset

可能类型:

skiplist:跳表,每个节点上有多个指针域,可以使得查询的时间复杂度为O(logN)。

ziplist:和上面类似,在元素较少时使用。

相关推荐
SelectDB15 小时前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶16 小时前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵19 小时前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils19 小时前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库
云技纵横1 天前
一个 @Async 让循环依赖暴雷:Spring 代理的暗坑
redis
Databend2 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent
犯困蛋挞yy2 天前
用Claude快速解决Redis代码报错反复无解的问题
redis
ClouGence3 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将3 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils4 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库