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

相关推荐
Moshow郑锴2 分钟前
Spring Boot Data API 与 Redis 集成:KPI/图表/表格查询的缓存优化方案
spring boot·redis·缓存
晚霞的不甘10 分钟前
Flutter for OpenHarmony专注与习惯的完美融合: 打造你的高效生活助手
前端·数据库·经验分享·flutter·前端框架·生活
2301_7657031412 分钟前
工具、测试与部署
jvm·数据库·python
山岚的运维笔记18 分钟前
SQL Server笔记 -- 第13章:IF...ELSE
数据库·笔记·sql·microsoft·sqlserver
创客小邓24 分钟前
Qt对SQLite数据库的操作
数据库·qt·sqlite
TracyCoder12325 分钟前
Redis 进阶之路:探秘事务、Lua 与特殊数据结构
数据结构·redis·lua
中二病码农不会遇见C++学姐37 分钟前
《文明6》Mod开发实战:从游戏日志定位和解决Mod加载问题
数据库·游戏·oracle
小毅&Nora40 分钟前
# 【后端】【Redis】③ Redis 8队列全解:从“快递分拣站“到“智能配送系统“,一文彻底掌握队列机制
redis·bootstrap·队列
三水不滴41 分钟前
SpringBoot+Caffeine+Redis实现多级缓存
spring boot·redis·笔记·缓存
naruto_lnq1 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python