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 分钟前
时序数据库选型指南:大数据时代的“数据基建”与 IoTDB 的工业原生之路
大数据·数据库·mysql·oracle·sqlserver·时序数据库·iotdb
小碗羊肉5 分钟前
【MySQL | 第一篇】数据库和表的基本操作(DDL语句)
数据库·mysql
a里啊里啊6 分钟前
软考-软件评测师:知识点整理(四)——信息安全知识
服务器·网络·计算机网络·php·哈希算法·软考·加密算法
四维迁跃7 分钟前
MySQL触发器处理死锁的防范方法_MySQL高并发触发器优化
jvm·数据库·python
weixin_4087177710 分钟前
golang如何实现API压测工具_golang API压测工具实现攻略
jvm·数据库·python
敲敲千反田10 分钟前
redis常见问题
数据库·redis·缓存
人道领域12 分钟前
【Redis实战篇】秒杀系统:一人一单高并发实战(synchronized锁实战与事务失效问题)
java·开发语言·数据库·redis·spring
weixin_4249993615 分钟前
Redis怎样利用Lua脚本批量抓取多类型数据
jvm·数据库·python
yeyuningzi15 分钟前
如何解决海量数据库许可过期导致的无法启动问题
数据库·海量数据库
2301_8176722616 分钟前
Golang怎么写TODO待办应用_Golang TODO应用教程【深入】
jvm·数据库·python