介绍
在这个实验中,你将学习 Redis 中基本的键值(key-value)操作。我们将使用 redis-cli
命令行界面与 Redis 服务器交互,并执行基本操作,例如设置(setting)、获取(getting)、检查存在性(checking existence)、删除(deleting)和设置键的过期时间(setting expiration times)。完成这个实验后,你将对如何使用 Redis 作为简单的数据存储有扎实的理解。
在这个实验中,你将学习 Redis 中基本的键值(key-value)操作。我们将使用 redis-cli
命令行界面与 Redis 服务器交互,并执行基本操作,例如设置(setting)、获取(getting)、检查存在性(checking existence)、删除(deleting)和设置键的过期时间(setting expiration times)。完成这个实验后,你将对如何使用 Redis 作为简单的数据存储有扎实的理解。
在这一步中,我们将重点介绍在 Redis 中设置和检索键值对的核心操作。这是使用 Redis 作为数据存储的基础。
Redis 将数据存储为键值对,类似于字典。键(key)是一个唯一的标识符,而值(value)是与该键相关联的数据。
连接到 Redis:
在 LabEx 虚拟机(VM)中打开一个终端。你应该已经在 ~/project
目录中。使用 redis-cli
命令连接到 Redis 服务器:
redis-cli
你应该看到 Redis 提示符:127.0.0.1:6379>
。这表示已成功连接到 Redis 服务器。
设置一个键值对:
让我们使用 SET
命令设置一个键值对。我们将键 mykey
设置为值 myvalue
。
SET mykey myvalue
Redis 将响应:
OK
这确认键值对已成功存储。
获取键的值:
要检索与键关联的值,请使用 GET
命令。让我们检索 mykey
的值:
GET mykey
Redis 将响应:
"myvalue"
这表明我们已成功检索与键 mykey
关联的值。
设置另一个键值对:
让我们使用不同的键和值设置另一个键值对。这次,我们将使用 user:1001
作为键,John
作为值。
SET user:1001 John
Redis 将响应:
OK
获取新键的值:
现在,让我们检索 user:1001
键的值:
GET user:1001
Redis 将响应:
"John"
你现在已成功在 Redis 中设置和检索键值对。
退出 Redis CLI:
重要的是在每个步骤之后退出 Redis CLI,以便正确记录命令。输入:
exit
在这一步中,我们将学习如何使用 EXISTS
命令检查 Redis 中是否存在某个键。这对于确定在尝试检索其值或执行其他操作之前是否已设置键非常有用。
连接到 Redis:
使用 redis-cli
命令连接到 Redis 服务器:
redis-cli
你应该看到 Redis 提示符:127.0.0.1:6379>
。
检查现有键的存在性:
在上一步中,我们设置了键 mykey
。让我们使用 EXISTS
命令检查它是否存在:
EXISTS mykey
Redis 将响应:
(integer) 1
响应 1
表示键 mykey
存在于 Redis 中。
检查不存在的键的存在性:
现在,让我们检查一个我们尚未设置的键是否存在。例如,让我们检查一个名为 nonexistentkey
的键:
EXISTS nonexistentkey
Redis 将响应:
(integer) 0
响应 0
表示键 nonexistentkey
不存在于 Redis 中。
退出 Redis CLI:
退出 Redis CLI 以确保记录命令:
exit
在这一步中,我们将学习如何使用 DEL
命令从 Redis 中删除键。这对于管理数据和删除过时或不需要的条目至关重要。
连接到 Redis:
使用 redis-cli
命令连接到 Redis 服务器:
redis-cli
你应该看到 Redis 提示符:127.0.0.1:6379>
。
删除现有键:
在之前的步骤中,我们设置了键 mykey
。让我们使用 DEL
命令删除它:
DEL mykey
Redis 将响应:
(integer) 1
响应 (integer) 1
表示成功删除了一个键。
删除不存在的键:
让我们尝试删除一个不存在的键,例如 nonexistentkey
:
DEL nonexistentkey
Redis 将响应:
(integer) 0
响应 (integer) 0
表示未删除任何键(因为该键不存在)。
删除多个键:
DEL
命令也可用于一次删除多个键。让我们删除我们之前创建的 user:1001
键,并尝试在同一命令中再次删除 nonexistentkey
:
DEL user:1001 nonexistentkey
Redis 将响应:
(integer) 1
响应 (integer) 1
表示成功删除了一个键(user:1001
),并且由于 nonexistentkey
不存在,因此删除 nonexistentkey
的尝试被忽略。
退出 Redis CLI:
退出 Redis CLI:
exit
在这一步中,我们将学习如何使用 EXPIRE
命令为 Redis 中的键设置过期时间。这对于在特定时间段后自动删除数据非常有用,例如会话数据或临时缓存。
连接到 Redis:
使用 redis-cli
命令连接到 Redis 服务器:
redis-cli
你应该看到 Redis 提示符:127.0.0.1:6379>
。
设置键值对(Key-Value Pair):
让我们设置一个键值对,然后我们可以使其过期。我们将使用 SET
命令。例如,让我们将键 tempkey
设置为值 tempvalue
。
SET tempkey tempvalue
Redis 将响应:
OK
设置过期时间:
现在,让我们使用 EXPIRE
命令为 tempkey
设置 10 秒的过期时间:
EXPIRE tempkey 10
Redis 将响应:
(integer) 1
响应 (integer) 1
表示已成功设置过期时间。
检查剩余生存时间(Time To Live, TTL):
要检查键的剩余生存时间(TTL),请使用 TTL
命令:
TTL tempkey
Redis 将响应键过期前剩余的秒数(例如,(integer) 9
)。由于自设置过期以来经过的时间,该值可能略小于 10。如果键不存在或没有过期时间,则 TTL
分别返回 -2
或 -1
。
退出 Redis CLI:
退出 Redis CLI:
exit
在这个实验中,你已经学习了使用 redis-cli
命令行界面在 Redis 中进行的基本键值(key-value)操作。你学习了如何连接到 Redis 服务器,以及如何使用 SET
命令将数据存储为键值对。你还练习了使用 GET
命令检索值。此外,你还学习了如何使用 EXISTS
命令检查键是否存在,使用 DEL
命令删除键,以及使用 EXPIRE
命令设置键的过期时间。这些是使用 Redis 作为简单高效数据存储的构建块。