Navicat 博客

在 Redis 中处理键值 2023 年 8 月 7 日,由 Robert Gravelle 撰写

Redis 是一个键值存储系统,允许我们将值与键相关联起来。与关系型数据库不同的是, 在Redis 中,不需要使用数据操作语言 (DML) 和查询语法,那么我们如何进行数据的写入、读取、更新和删除操作呢?本教程将介绍如何使用 redis-cli 和 Navicat for Redis 来进行键的写入、读取、更新和删除操作。

读取数据

我们可以使用 GET 命令从 Redis 获取一个键的字符串值。

GET key

以下是在 Navicat for Redis 中的一个示例,它获取了一个“auth service”键的值:

auth_service (48K)

正如预期的那样,它返回了此键对应的值“auth0”:

GET_command (16K)

然而,如果我们尝试获取“Indiana_jones_episodes”键的值,我们会收到此报错“WRONGTYPE Operation against a key holding the wrong kind of value”。这是因为该键的值是一个有序集合。由于 Redis 支持 6 种数据类型,并且不同的数据类型所使用的检索值的命令是不同的,所以你需要知道一个键对应的值的数据类型。

以下是检索键值的命令:

  • 如果值的数据类型是字符串(string) -> GET <key>
  • 如果值的数据类型是哈希(hash) -> HGET or HMGET or HGETALL <key>
  • 如果值的数据类型是列表(list) -> lrange <key> <start> <end>
  • 如果值的数据类型是集合(set) -> smembers <key>
  • 如果值的数据类型是有序集合(sorted set) -> ZRANGEBYSCORE <key> <min> <max>
  • 如果值的数据类型是流(stream) -> xread count <count> streams <key> <ID>.

所以,如下图所示,为了获取“Indiana_jones_episodes”键的值,我们需要使用 ZRANGEBYSCORE ,并且需要指定参数 min 和 max 的值。

ZRANGEBYSCORE_example (26K)

返回了有序集合中的前三个值。

写入和更新数据

在 Redis 中,SET key Value 命令用于设置初始值以及进行更新操作。

当然,在 Navicat 中,可随时使用以下编辑器对键和值进行修改:

update_example (54K)

删除数据

在 Redis 中,我们可以使用 DEL 命令删除一个键已经与此键相关联的值。其语法如下:

DEL key

例如,以下命令将删除名为“auth service”的键:

DEL "auth service"

请注意,Redis 并不会询问你是否确定执行此操作!

在 Navicat 中,我们可以通过在表格中选择一个键并点击删除 [-] 按钮来删除它,当我们点击删除按钮后,会弹出一个对话框,要求我们确认是否继续执行删除操作,这样可避免因意外点击而误删除数据。

delete_button (60K)

总结

在本次教程中,我们学习了如何使用 redis-cli 和 Navicat for Redis 来写入、读取、更新和删除键。下次课程,我们将继续学习更多处理数据的 redis-cli 命令,以及学习如何使用 Navicat 来完成相同的处理数据操作。

对 Navicat for Redis 感兴趣吗?你可点击 此处 下载它,可享 14 天免费试用完整版功能。

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