Redis key的过期时间和永久有效

server/2024/9/23 9:22:56/

 Redis key的过期时间和永久有效

设置键的过期时间

1. **使用 `EXPIRE` 命令**:
   `EXPIRE` 命令用于设置一个键的过期时间(以秒为单位)。

   **语法**:```shellEXPIRE key seconds```

 

  **示例**:```shellEXPIRE mykey 60```


   上述命令将 `mykey` 的过期时间设置为 60 秒。

 使用 `SET` 命令和 `EX` 参数:
   当创建键时,可以使用 `SET` 命令的 `EX` 参数直接设置过期时间。

   **语法**:```shellSET key value EX seconds```
   **示例**:```shellSET mykey "myvalue" EX 60```


   上述命令设置 `mykey` 的值为 `"myvalue"`,并设置其过期时间为 60 秒。

使用 `PEXPIRE` 命令:
   `PEXPIRE` 命令用于设置键的过期时间(以毫秒为单位)。

   **语法**:```shellPEXPIRE key milliseconds```
   **示例**:```shellPEXPIRE mykey 60000```


   上述命令将 `mykey` 的过期时间设置为 60,000 毫秒(即 60 秒)。

**使用 `SET` 命令和 `PX` 参数:


   同样地,可以使用 `SET` 命令的 `PX` 参数直接设置过期时间(以毫秒为单位)。

   **语法**:```shellSET key value PX milliseconds```

   **示例**:

   ```shellSET mykey "myvalue" PX 60000```


   上述命令设置 `mykey` 的值为 `"myvalue"`,并设置其过期时间为 60,000 毫秒(即 60 秒)。

 使用 `EXPIREAT` 命令:


   `EXPIREAT` 命令用于设置键在某个特定时间点过期(以 Unix 时间戳的秒为单位)。

   **语法**:```shellEXPIREAT key timestamp```

 

  **示例**:```shellEXPIREAT mykey 1629964800```


   上述命令设置 `mykey` 在 Unix 时间戳 1629964800 时(对应的 UTC 时间)过期。

使用 `PEXPIREAT` 命令


   `PEXPIREAT` 命令与 `EXPIREAT` 类似,但时间戳以毫秒为单位。

   **语法**:```shellPEXPIREAT key milliseconds_timestamp```
   **示例**:```shellPEXPIREAT mykey 1629964800000```


   上述命令设置 `mykey` 在 Unix 毫秒时间戳 1629964800000 时(对应的 UTC 时间)过期。

设置键为永久有效

如果想要使键永久有效(即没有过期时间),可以使用以下方法:

简单地设置键而不设置过期时间


   使用 `SET` 命令而不指定 `EX` 或 `PX` 参数,键将被设置为永久有效。

   **语法**:```shellSET key value```

   **示例**:

   ```shellSET mykey "myvalue"```


   上述命令将 `mykey` 设置为永久有效,不会过期。

移除现有键的过期时间


   如果键已经设置了过期时间,可以使用 `PERSIST` 命令将其变为永久有效。

   **语法**:```shellPERSIST key```

   **示例**:

   ```shellPERSIST mykey```


   上述命令将移除 `mykey` 的过期时间,使其永久有效。

总结

    

Redis是一种基于内存的高性能键值存储系统。在Redis中,key可以设置过期时间或者被永久保存。本文将对Redis中key的过期时间和永久有效的设置进行详细介绍。

  1. 过期时间的设置: 在Redis中,可以使用EXPIRE命令来设置key的过期时间。EXPIRE命令的语法为:EXPIRE key seconds,其中key是要设置过期时间的键名,seconds是过期时间的秒数。 例如,要将名为"username"的key设置为10秒后过期,可以使用如下命令: EXPIRE username 10

    另外,还可以使用PEXPIRE命令来设置key的过期时间,其语法为:PEXPIRE key milliseconds,其中key是要设置过期时间的键名,milliseconds是过期时间的毫秒数。 例如,要将名为"username"的key设置为100毫秒后过期,可以使用如下命令: PEXPIRE username 100

    在设置过期时间后,Redis会自动在指定时间后删除该key,因此可以在实现缓存策略或者定时任务调度等场景下使用。

  2. 永久有效的设置: 在Redis中,key可以通过不设置过期时间来永久有效。可以使用SET命令来设置一个永不过期的key,其语法为:SET key value。 例如,要设置名为"username"的key永久有效,可以使用如下命令: SET username "john"

    此时,该key将永不过期,除非手动删除或者重写该key的值。这种设置适用于一些长期有效的数据,如配置信息、用户信息等。

  3. key的过期时间和永久有效的总结:

    • 通过EXPIRE命令可以设置key的过期时间,通过PEXPIRE命令可以设置key的过期时间(毫秒为单位)。
    • 设置过期时间后,在指定时间后Redis会自动删除该key。
    • 可以通过SET命令将key设置为永久有效,即不设置过期时间。
    • 永久有效的key除非手动删除或者重写其值,否则将一直存在Redis中。
    • 过期时间和永久有效的设置可以根据实际需求来选择合适的方式。

            Redis提供了灵活的key过期时间和永久有效的设置方式,可以根据具体的业务需求来选择合适的方式。同时,合理设置过期时间可以有效地管理内存,避免数据的无效存储。

   


http://www.ppmy.cn/server/107396.html

相关文章

[Algorithm][综合训练][比那名居的桃子][chika和蜜柑][礼物的最大价值]详细讲解

目录 1.比那名居的桃子1.题目链接2.算法原理详解 && 代码实现 2.chika和蜜柑1.题目链接2.算法原理详解 && 详细讲解 3.礼物的最大价值1.题目链接2.算法原理详解 && 代码实现 1.比那名居的桃子 1.题目链接 比那名居的桃子 2.算法原理详解 && …

黑神话悟空丨资源合集,光追配置+修改器+各种奇奇怪怪的MOD

国产3A大作 黑神话悟空 推出了一些奇奇怪怪的mod(非官方),作为一款备受瞩目的单机作品,黑神话悟空 不仅在剧情和画面上表现出色,同时也为玩家提供了丰富的Mod支持。 哈哈哈哈,总是就是奇奇怪怪,悟空被玩坏了&#xff…

【快速选择算法】解决TopK问题中前K小的数字问题

目录 1.前言2.题目简介3.求解思路4.示例代码 1.前言 在一个数组中找到这个数组前K小的数字有三种方式: 排序 O(N*logN)堆排序:建立一个k个大小的大堆(如果是找前K大的数字的话用小堆) O(N*logK)快速选择算法:原地交换数字,使得该…

Dubbo源码解析之@DubboService、@DubboReference(Dubbo源码一)

更好的阅读体验:Dubbo源码解析之DubboService、DubboReference(Dubbo源码一) 视频讲解:https://www.bilibili.com/video/BV1nBsMejEbL 对于Dubbo用的最多的就是DubboService、DubboReference,与之对应的就是服务的提供…

高效的时间序列可视化:减少认知负荷获得更清晰的洞察

可视化时间序列数据是具有挑战性,尤其是涉及多个数据集时。精心设计的可视化不仅能清晰地传达信息,还能减少观察者的认知负荷,使其更容易提取有意义的洞察。 在本文中,我们将探讨使真实世界的疫苗接种数据来可视化单个时间序列和多个时间序列。 数据可视化中认知负荷的重要性 …

从etcd学习raft

在etcd的项目下有一个使用raft的示例,在之前读etcd代码的时候会比较难理解raft相关的代码。因此通过这个示例会更容易的了解raft相关的实现细节。 我将这部分代码推送到了我的git仓库:https://github.com/yugu2day/raftexample 在示例中,主…

NVIDIA将在Hot Chips 2024会议上展示Blackwell服务器装置

NVIDIA 将在 Hot Chips 2024 上展示其 Blackwell 技术堆栈,并在本周末和下周的主要活动中进行会前演示。对于 NVIDIA 发烧友来说,这是一个激动人心的时刻,他们将深入了解NVIDIA的一些最新技术。然而,Blackwell GPU 的潜在延迟可能…

字母的大小写转换(tolower、toupper、transform)

字母的大小写转换(tolower、toupper、transform) 1. tolower()、toupper()函数 (这个在之前的一篇文章 “字符串中需要掌握的函数总结(1)”中有较为详细的介绍。&#…