介绍
在这个实验中,你将学习 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 myvalueRedis 将响应:
OK这确认键值对已成功存储。
获取键的值:
要检索与键关联的值,请使用
GET命令。让我们检索mykey的值:GET mykeyRedis 将响应:
"myvalue"这表明我们已成功检索与键
mykey关联的值。设置另一个键值对:
让我们使用不同的键和值设置另一个键值对。这次,我们将使用
user:1001作为键,John作为值。SET user:1001 JohnRedis 将响应:
OK获取新键的值:
现在,让我们检索
user:1001键的值:GET user:1001Redis 将响应:
"John"你现在已成功在 Redis 中设置和检索键值对。
退出 Redis CLI:
重要的是在每个步骤之后退出 Redis CLI,以便正确记录命令。输入:
exit
检查键是否存在
在这一步中,我们将学习如何使用 EXISTS 命令检查 Redis 中是否存在某个键。这对于确定在尝试检索其值或执行其他操作之前是否已设置键非常有用。
连接到 Redis:
使用
redis-cli命令连接到 Redis 服务器:redis-cli你应该看到 Redis 提示符:
127.0.0.1:6379>。检查现有键的存在性:
在上一步中,我们设置了键
mykey。让我们使用EXISTS命令检查它是否存在:EXISTS mykeyRedis 将响应:
(integer) 1响应
1表示键mykey存在于 Redis 中。检查不存在的键的存在性:
现在,让我们检查一个我们尚未设置的键是否存在。例如,让我们检查一个名为
nonexistentkey的键:EXISTS nonexistentkeyRedis 将响应:
(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 mykeyRedis 将响应:
(integer) 1响应
(integer) 1表示成功删除了一个键。删除不存在的键:
让我们尝试删除一个不存在的键,例如
nonexistentkey:DEL nonexistentkeyRedis 将响应:
(integer) 0响应
(integer) 0表示未删除任何键(因为该键不存在)。删除多个键:
DEL命令也可用于一次删除多个键。让我们删除我们之前创建的user:1001键,并尝试在同一命令中再次删除nonexistentkey:DEL user:1001 nonexistentkeyRedis 将响应:
(integer) 1响应
(integer) 1表示成功删除了一个键(user:1001),并且由于nonexistentkey不存在,因此删除nonexistentkey的尝试被忽略。退出 Redis CLI:
退出 Redis CLI:
exit
设置键的过期时间
在本步骤中,我们将学习如何使用 EXPIRE 命令和带有 EX 参数的 SET 命令为 Redis 中的键设置过期时间。这对于在特定时间段后自动删除数据(例如会话数据或临时缓存)非常有用。
连接到 Redis:
使用
redis-cli命令连接到 Redis 服务器:redis-cli你应该看到 Redis 提示符:
127.0.0.1:6379>。使用过期时间设置键值对 (方法 1: 使用 EX 参数的 SET 命令):
Redis 允许你使用单个命令(
EX参数)设置键值对和过期时间。让我们将键sessionkey的值设置为sessionvalue,并设置 15 秒的过期时间:SET sessionkey sessionvalue EX 15Redis 将响应:
OK该命令在一个操作中设置键值对和过期时间,比使用单独的命令更有效率。
检查使用 EX 设置的键的 TTL:
让我们检查
sessionkey的剩余存活时间 (TTL):TTL sessionkeyRedis 将响应剩余的过期时间(例如,
(integer) 14)。该值会略小于 15,因为自设置键以来已过去的时间。设置键值对 (方法 2: 使用单独的 EXPIRE 命令):
或者,你可以先设置键值对,然后单独设置其过期时间。让我们将键
tempkey的值设置为tempvalue:SET tempkey tempvalueRedis 将响应:
OK使用 EXPIRE 命令设置过期时间:
现在,让我们使用
EXPIRE命令为tempkey设置 10 秒的过期时间:EXPIRE tempkey 10Redis 将响应:
(integer) 1响应
(integer) 1表示成功设置了过期时间。检查剩余存活时间 (TTL):
要检查
tempkey的剩余存活时间 (TTL),请使用TTL命令:TTL tempkeyRedis 将响应剩余的过期时间(例如,
(integer) 9)。该值可能略小于 10,因为自设置过期时间以来已过去的时间。如果键不存在或没有过期时间,TTL分别返回-2或-1。退出 Redis CLI:
退出 Redis CLI:
exit
总结
在本实验中,你学习了使用 redis-cli 命令行界面进行 Redis 的基本键值操作。你学习了如何连接 Redis 服务器以及使用 SET 命令存储键值对数据。你还在实践中学习了如何使用 GET 命令检索值。此外,你学习了如何使用 EXISTS 命令检查键是否存在,使用 DEL 命令删除键,以及使用 SET 命令的 EX 参数和 EXPIRE 命令设置键的过期时间。使用 SET 命令的 EX 参数尤其有用,因为它允许你在一项高效的操作中设置具有过期时间的键值对。这些都是将 Redis 用作简单高效的数据存储的基础。


