Redis 基础键值操作

RedisBeginner
立即练习

简介

在本实验中,你将学习 Redis 中的基础键值操作。我们将使用 redis-cli 命令行界面与 Redis 服务器进行交互,并执行诸如设置、获取、检查存在性、删除以及设置键过期时间等基本操作。完成本实验后,你将对如何将 Redis 用作简单的键值数据存储有扎实的理解。

设置和获取键值对

在本步骤中,我们将重点介绍在 Redis 中设置和获取键值对的核心操作。这是将 Redis 用作数据存储的基础。

Redis 以键值对的形式存储数据,类似于字典。键(Key)是唯一标识符,而值(Value)是与该键关联的数据。

  1. 连接到 Redis:

    在 LabEx 虚拟机中打开终端。你应该已经在 ~/project 目录下。使用 redis-cli 命令连接到 Redis 服务器:

    redis-cli
    

    你应该能看到 Redis 提示符:127.0.0.1:6379>。这表明已成功连接到 Redis 服务器。

  2. 设置键值对:

    让我们使用 SET 命令设置一个键值对。我们将键 mykey 的值设置为 myvalue

    SET mykey myvalue
    

    Redis 将返回:

    OK
    

    这确认了键值对已成功存储。

  3. 获取键的值:

    要检索与键关联的值,请使用 GET 命令。让我们检索 mykey 的值:

    GET mykey
    

    Redis 将返回:

    "myvalue"
    

    这表明我们已成功检索到与键 mykey 关联的值。

  4. 设置另一个键值对:

    让我们设置另一个具有不同键和值的键值对。这次,我们将使用 user:1001 作为键,John 作为值。

    SET user:1001 John
    

    Redis 将返回:

    OK
    
  5. 获取新键的值:

    现在,让我们检索 user:1001 键的值:

    GET user:1001
    

    Redis 将返回:

    "John"
    

    你现在已经成功地在 Redis 中设置并获取了键值对。

  6. 退出 Redis CLI:

    在每个步骤后退出 Redis CLI 很重要,这样命令才能被正确记录。输入:

    exit
    

    Redis CLI 会话截图

检查键的存在性

在本步骤中,我们将学习如何使用 EXISTS 命令检查 Redis 中是否存在某个键。这对于在尝试检索值或执行其他操作之前确定键是否已设置非常有用。

  1. 连接到 Redis:

    使用 redis-cli 命令连接到 Redis 服务器:

    redis-cli
    

    你应该能看到 Redis 提示符:127.0.0.1:6379>

  2. 检查现有键的存在性:

    在上一步中,我们设置了键 mykey。让我们使用 EXISTS 命令检查它是否存在:

    EXISTS mykey
    

    Redis 将返回:

    (integer) 1
    

    返回 1 表示键 mykey 在 Redis 中存在。

  3. 检查不存在键的存在性:

    现在,让我们检查一个我们尚未设置的键是否存在。例如,检查名为 nonexistentkey 的键:

    EXISTS nonexistentkey
    

    Redis 将返回:

    (integer) 0
    

    返回 0 表示键 nonexistentkey 在 Redis 中不存在。

  4. 退出 Redis CLI:

    退出 Redis CLI 以确保命令被记录:

    exit
    

删除键

在本步骤中,我们将学习如何使用 DEL 命令从 Redis 中删除键。这对于管理数据以及移除过时或不需要的条目至关重要。

  1. 连接到 Redis:

    使用 redis-cli 命令连接到 Redis 服务器:

    redis-cli
    

    你应该能看到 Redis 提示符:127.0.0.1:6379>

  2. 删除现有键:

    在之前的步骤中,我们设置了键 mykey。让我们使用 DEL 命令将其删除:

    DEL mykey
    

    Redis 将返回:

    (integer) 1
    

    返回 (integer) 1 表示有一个键被成功删除。

  3. 删除不存在的键:

    让我们尝试删除一个不存在的键,例如 nonexistentkey

    DEL nonexistentkey
    

    Redis 将返回:

    (integer) 0
    

    返回 (integer) 0 表示没有删除任何键(因为该键不存在)。

  4. 删除多个键:

    DEL 命令也可以一次删除多个键。让我们删除之前创建的 user:1001 键,并尝试在同一个命令中再次删除 nonexistentkey

    DEL user:1001 nonexistentkey
    

    Redis 将返回:

    (integer) 1
    

    返回 (integer) 1 表示有一个键被成功删除(user:1001),而删除 nonexistentkey 的尝试被忽略了,因为它不存在。

  5. 退出 Redis CLI:

    退出 Redis CLI:

    exit
    

设置键的过期时间

在本步骤中,我们将学习如何通过 EXPIRE 命令以及带有 EX 参数的 SET 命令来设置 Redis 键的过期时间。这对于在一段时间后自动移除数据(例如会话数据或临时缓存)非常有用。

  1. 连接到 Redis:

    使用 redis-cli 命令连接到 Redis 服务器:

    redis-cli
    

    你应该能看到 Redis 提示符:127.0.0.1:6379>

  2. 设置带有过期时间的键值对(方法 1:使用带有 EX 参数的 SET):

    Redis 允许你使用 EX 参数在单个命令中设置带有过期时间的键值对。让我们将键 sessionkey 的值设置为 sessionvalue,并设置 15 秒的过期时间:

    SET sessionkey sessionvalue EX 15
    

    Redis 将返回:

    OK
    

    此命令在一次操作中设置了键值对和过期时间,比使用单独的命令更高效。

  3. 检查使用 EX 设置的键的 TTL:

    让我们检查 sessionkey 的剩余生存时间(TTL):

    TTL sessionkey
    

    Redis 将返回键过期前剩余的秒数(例如 (integer) 14)。由于设置键后经过了一段时间,该值会略小于 15。

  4. 设置键值对(方法 2:单独使用 EXPIRE 命令):

    或者,你可以先设置键值对,然后再单独设置其过期时间。让我们将键 tempkey 的值设置为 tempvalue

    SET tempkey tempvalue
    

    Redis 将返回:

    OK
    
  5. 使用 EXPIRE 命令设置过期时间:

    现在,让我们使用 EXPIRE 命令为 tempkey 设置 10 秒的过期时间:

    EXPIRE tempkey 10
    

    Redis 将返回:

    (integer) 1
    

    返回 (integer) 1 表示过期时间设置成功。

  6. 检查剩余生存时间 (TTL):

    要检查 tempkey 的剩余生存时间 (TTL),请使用 TTL 命令:

    TTL tempkey
    

    Redis 将返回键过期前剩余的秒数(例如 (integer) 9)。由于设置过期时间后经过了一段时间,该值可能略小于 10。如果键不存在或没有设置过期时间,TTL 将分别返回 -2-1

  7. 退出 Redis CLI:

    退出 Redis CLI:

    exit
    

总结

在本实验中,你学习了如何使用 redis-cli 命令行界面进行 Redis 的基础键值操作。你学习了如何连接到 Redis 服务器,并使用 SET 命令将数据存储为键值对。你还练习了使用 GET 命令检索值。此外,你学习了如何使用 EXISTS 命令检查键的存在性,使用 DEL 命令删除键,以及通过带有 EX 参数的 SET 命令和 EXPIRE 命令来设置键的过期时间。带有 EX 参数的 SET 命令特别有用,因为它允许你在一次高效的操作中设置键值对及其过期时间。这些是使用 Redis 作为简单高效数据存储的基石。