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:和上面类似,在元素较少时使用。

相关推荐
{⌐■_■}4 小时前
【Kafka】登录日志处理的三次阶梯式优化实践:从同步写入到Kafka多分区批处理
数据库·分布式·mysql·kafka·go
isNotNullX4 小时前
数据中台架构解析:湖仓一体的实战设计
java·大数据·数据库·架构·spark
睿思达DBA_WGX7 小时前
由 DB_FILES 参数导致的 dg 服务器无法同步问题
运维·数据库·oracle
袋鼠云数栈8 小时前
使用自然语言体验对话式MySQL数据库运维
大数据·运维·数据库·后端·mysql·ai·数据治理·数栈·data+ai
阿里云大数据AI技术8 小时前
数据 + 模型 驱动 AI Native 应用发展
大数据·数据库·人工智能
??? Meggie9 小时前
【SQL】使用UPDATE修改表字段的时候,遇到1054 或者1064的问题怎么办?
android·数据库·sql
一屉大大大花卷9 小时前
初识Neo4j之图数据库(二)
数据库·neo4j
天翼云开发者社区10 小时前
OLAP分析数据库适用场景及主流产品对比
数据库
Britz_Kevin10 小时前
从零开始的云计算生活——番外2,MySQL组复制
数据库·mysql·云计算·生活·#组复制