Navicat 博客

Redis 数据类型 2023 年 6 月 26 日,由 Robert Gravelle 撰写

Redis 有别于其他键值(key-value)存储的一个关键特性是它支持多种数据类型,包括字符串(string)、列表(list)、集合(set)、排序集合(sorted set)和哈希(hash)。这使开发人员更容易解决问题,因为他们往往知道每项工作要使用哪种数据类型。本文将概述 Redis 支持的六种数据类型。

String

Redis 将字符串存储为字节序列。Redis 中的字符串是二进制安全的,这意味着它们的长度是固定的,而不是由一个或多个特殊终止字符决定。因此,一个字符串可以存储最多 512 MB 的数据。

Navicat for Redis 中,我们可以在主菜单中选择“编辑”->“添加键”来创建新的键值对。这将在数据视图中添加一个新的空行并打开编辑器:

creating_a_string (102K)

我们可以使用编辑器来设置以下信息:

  • 键名
  • 键类型
  • TTL(生存时间)

点击“应用”按钮会将“编辑器”表单的内容填入新行。它还显示值的大小:

new_string (34K)

Hash

在 Redis 中,hash 是一个键值对的集合。因此,它们是表示对象和存储计数器分组等的不错选择。每个 hash 最多可以存储 2^32 - 1 个字段-值对(超过 40 亿个!)。

对于 hash 值,Navicat 编辑器有一个以“字段”和“值”列组成的表:

hash (78K)

List

Redis List 只是字符串列表,按添加顺序排序。你可以将元素添加到 Redis 列表的头部或尾部。列表的最大长度为 2^32 - 1,即 4294967295 个元素(每个列表可以有超过 40 亿个元素!)。

在 Navicat 编辑器中,list 值表示为“元素”。点击“元素”右侧的省略号 [...] 按钮将打开一个特殊的编辑器,你可以在其中输入完整的列表:

list_editor (72K)

Set

Redis Set 是一个无序的字符串集合。Set 与 list 类似,不同之处在于 Set 不允许重复项并且不保留插入顺序。

Set 也可以排序。在有序集合(Sorted Set)中,每个成员都与一个分数(score)相关联,按分数值从最小到最大的顺序排列有序集合。虽然成员是唯一的,但分数却可以重复。

Navicat 处理 Set 的方式与处理 List 的方式非常相似。以下是一个例子:

set_editor (76K)

在“键类型”下拉列表中,“zset”就是有序集合:

zset_editor (23K)

Stream

Redis stream 数据类型是在 Redis 5.0 中引入的。Stream 模拟了一个日志数据结构,但也实现了多个操作以克服典型仅附加日志的一些限制。

是的,Navicat for Redis 支持 Stream 数据类型!

stream_editor (24K)

关于 Redis 数据类型的结语

本文概述了 Redis 支持的六种数据类型,包括新的 Stream 类型。

有兴趣尝试 Navicat for Redis 吗?你可以在 这里 下载功能完整的试用版,并试用 14 天。

Navicat 文章
频道条目
分享
文章归档