
目录运行 Redis 服务器和 Redis Insight仅限 Redis 服务器Redis Server Redis InsightRedis Insight添加新的键值Redis CLI连接到 Redis CLI添加新密钥找回密钥编辑字段或添加新字段删除字段或键断开与 Redis CLI 的连接其他类型呢哈希字符串列表Sets有序集流JSON结论如果您喜欢此文章请收藏、点赞、评论谢谢祝您快乐每一天。在本教程中您将学习如何在本地运行 Redis 以及 Redis Insight 来管理其数据以及如何执行简单的 CRUD 操作。此外我们还将了解如何使用 Redis CLI 执行相同的操作以及如何从容器内部连接到它。让我们把手伸进火里吧运行 Redis 服务器和 Redis Insight在本地启动 Redis 服务器非常简单而使用 Redis Insight 运行它则更加容易我们将使用 Docker 来运行它们虽然我们同时运行这两个应用程序但我也会提供仅运行服务器的命令仅限 Redis 服务器docker run -d --name redis-stack-server -p 6379:6379 redis/redis-stack-server:latestRedis Server Redis Insightdocker run -d --name redis-stack -p 6379:6379 -p 8001:8001 redis/redis-stack:latest我们将看到镜像正在下载下载完成后我们可以通过docker ps在终端执行命令来查看容器是否正在运行并且它是否暴露了端口 6379 和 8001定义如下-p 6739:6379 -p 8001:8001Redis Insight6379 是我们服务器的端口8001 是 Redis Insight 的端口。我们可以通过访问以下地址连接到它localhost:8001如果我们访问它应该会看到类似这样的内容右上角显示数据库的一些统计信息。左上角显示数据库详细信息左侧中间显示键值列表右侧中间显示这些键值的详细信息。需要注意的是Redis 在概念上是基于键值数据库范式的。每条数据都与一个键相关联无论是直接关联还是间接关联。添加新的键值要添加新的键值我们需要点击按钮key。我们的第一个密钥类型为hash。密钥的 TTL生存时间为空这意味着它永远不会过期。键名将是RaphaelDeLio然后我们将添加一些与该键关联的值我们可以点击它Add Key然后在密钥列表中看到我们的密钥及其关联的字段您可以点击字段旁边的铅笔或垃圾桶图标来编辑或删除任何字段甚至删除键本身。Redis CLI连接到 Redis CLI为了向 Redis 发送命令我们需要连接到 Redis CLI。Redis CLI 已安装在容器内我们可以通过在终端运行以下命令来访问它docker exec -it redis-stack redis-cli添加新密钥要添加新键我们将使用该HSET命令。此命令专门用于设置类型为 key 的键hash每种类型都有不同的前缀例如 keyLSET用于 keylistSETkey 用于keystring以及其他我们将在本文后面看到的键。为了添加与我们使用 Redis Insight 添加的相同的对象我们将运行以下命令HSET RaphaelDeLio name Raphael lastName De Lio age 27 job Software Developer作为响应Redis 应该返回键中设置的字段数量(integer) 4找回密钥此外还有用于获取每种类型密钥的命令它们遵循我们之前看到的相同模式。我们将介绍两种获取哈希键的方法其中一种是获取哈希表的所有字段。我们可以通过运行以下命令来实现HGETALL RaphaelDeLio我们应该会看到这样的回应1) name2) Raphael3) lastName4) De Lio5) age6) 277) job8) Software Developer第二种方法是通过运行以下命令来检索特定字段HGET RaphaelDeLio job返回结果Software Developer编辑字段或添加新字段编辑字段或添加新字段都使用同一个 set 命令HSET我们可以运行以下命令HSET RaphaelDeLio newKey This is a new KeyHSET RaphaelDeLio job Im editing an existing key!你可以通过运行我们之前看到的 GET 命令来测试它们。删除字段或键要删除哈希字段只需运行HDEL如下命令HDEL RaphaelDeLio job要删除密钥请运行DEL RaphaelDeLio断开与 Redis CLI 的连接要断开与 Redis CLI 的连接只需按ctrl c其他类型呢哈希Redis 哈希是字符串字段和字符串值之间的映射因此它们是表示对象例如具有姓名、姓氏、年龄等多个字段的用户的完美数据类型。每个哈希最多可以存储 2³² — 1 个字段值对超过 40 亿。字符串字符串是 Redis 中最基本的值类型。Redis 字符串是二进制安全的这意味着 Redis 字符串可以包含任何类型的数据例如 JPEG 图像或序列化的 Ruby 对象。字符串值的最大长度为 512 兆字节。字符串命令SET:添加或编辑密钥GET:用于检索密钥DEL:删除键列表Redis 列表本质上就是按插入顺序排序的字符串列表。可以通过将新元素添加到列表的头部左侧或尾部右侧来向 Redis 列表添加元素。列表示例向列表中添加新元素的示例SetsRedis Set 是一个无序的字符串集合。可以在 O(1) 的时间复杂度内添加、删除和检查成员是否存在。Redis Set 的一个优点是不允许重复成员。多次添加同一个元素只会导致集合中只有一个该元素的副本。实际上这意味着添加成员时不需要先检查是否存在再添加。按回车键或点击查看完整尺寸的图片创建一个包含三个相同元素的集合创建了一个集合其中丢弃了三个相同元素中的两个。命令SADD向集合中添加一个成员SREM从集合中移除一个成员SMEMBERS列出集合中的所有成员有序集Redis Sorted Set 与 Redis Set 类似都是不重复的字符串集合。不同之处在于Sorted Set 中的每个元素都关联一个分数该分数用于保持 Sorted Set 的顺序从最小的分数到最大的分数排列。虽然元素是唯一的但分数可以重复。按分数排序的集合示例命令ZADD添加新成员ZREM移除现有成员ZRANGE按范围列出成员流Redis 流是一种数据结构其作用类似于仅追加日志。流非常适合按事件发生的顺序记录事件。对于流Streams我们需要提供一个入口键它可以是时间戳或序列号。如果我们将其留空*Redis 会将数据库时间戳分配给它。添加流密钥空气质量数据流示例按时间段划分命令XADD向流中添加新条目XRANGE列出所有与指定 ID 范围匹配的条目XDEL从流中删除条目JSONRedisJSON 是 JSON 模块的一部分它允许您将 JSON 对象作为键的值添加。JSON 值示例命令JSON.SET在现有 JSON 中添加或替换新的 JSON 或字段JSON.DEL删除 JSON 或 JSON 中的字段JSON.GET用于检索 JSON结论在本教程中您学习了如何在本地启动 Redis 服务器和 Redis Insight。您还了解了 Redis 支持的不同类型键以及如何使用 Redis Insight 和 Redis CLI 执行简单的 CRUD 操作。如果您喜欢此文章请收藏、点赞、评论谢谢祝您快乐每一天。