简介
在本实验中,你将学习 Redis 中的基础键值操作。我们将使用 redis-cli 命令行界面与 Redis 服务器进行交互,并执行诸如设置、获取、检查存在性、删除以及设置键过期时间等基本操作。完成本实验后,你将对如何将 Redis 用作简单的键值数据存储有扎实的理解。
设置和获取键值对
在本步骤中,我们将重点介绍在 Redis 中设置和获取键值对的核心操作。这是将 Redis 用作数据存储的基础。
Redis 以键值对的形式存储数据,类似于字典。键(Key)是唯一标识符,而值(Value)是与该键关联的数据。
连接到 Redis:
在 LabEx 虚拟机中打开终端。你应该已经在
~/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的尝试被忽略了,因为它不存在。退出 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 命令删除键,以及通过带有 EX 参数的 SET 命令和 EXPIRE 命令来设置键的过期时间。带有 EX 参数的 SET 命令特别有用,因为它允许你在一次高效的操作中设置键值对及其过期时间。这些是使用 Redis 作为简单高效数据存储的基石。


