Redis系列(六):设置/移除键的过期时间[亲测有效]

Redis系列(六):设置/移除键的过期时间[亲测有效]设置/移除键的过期时间。

Redis系列(六):设置/移除键的过期时间

本篇博客是Redis系列的第6篇,主要讲解以下内容:

  1. 数据库数量
  2. 切换目标数据库
  3. 设置键的过期时间
  4. 移除键的过期时间

本系列的前5篇可以点击以下链接查看:

Redis系列(一):Redis简介及环境安装

Redis系列(二):Redis的5种数据结构及其常用命令

Redis系列(三):Redis的持久化机制(RDB、AOF)

Redis系列(四):Redis的复制机制(主从复制)

Redis系列(五):Redis的过期键删除策略

1. 数据库数量

默认情况下,Redis服务器有16个数据库,分别为db0~db15,如下图所示:

Redis系列(六):设置/移除键的过期时间[亲测有效]

该数量是由配置文件中的databases选项决定的,默认值为16:

Redis系列(六):设置/移除键的过期时间[亲测有效]

2. 切换目标数据库

默认情况下,我们执行的命令的目标数据库是db0,比如我们执行如下命令:

set message "Hello,Redis"

代码100分

这个键值对会保存在数据库db0里,如下图所示:

Redis系列(六):设置/移除键的过期时间[亲测有效]

如果想要切换目标数据库,可以使用SELECT命令,比如切换到db1,可以执行如下命令:

代码100分SELECT 1

然后执行如下图所示的命令:

Redis系列(六):设置/移除键的过期时间[亲测有效]

此时该键值对会保存在db1里,如下图所示:

Redis系列(六):设置/移除键的过期时间[亲测有效]

在实际使用时,建议遵循以下规范:

  1. 各个应用使用不同的目标数据库
  2. 1个应用尽量不要操作多个目标数据库

3. 设置/移除键的过期时间

Redis提供了7个和key的过期时间相关的命令,分别如下所示:

  1. TTL
  2. PTTL
  3. EXPIRE
  4. PEXPIRE
  5. EXPIREAT
  6. PEXPIREAT
  7. PERSIST

接下来详细讲解每个命令的使用方法。

3.1 TTL

TTL是Time To Live的缩写,用来查看某个key的剩余生存时间,单位为秒。

如果key没有设置过期时间,返回-1。

如果key不存在,返回-2。

Redis系列(六):设置/移除键的过期时间[亲测有效]

Redis系列(六):设置/移除键的过期时间[亲测有效]

3.2 PTTL

PTTLTTL类似,也是用来查看某个key的剩余生存时间,但单位为毫秒。

如果key没有设置过期时间,返回-1。

如果key不存在,返回-2。

Redis系列(六):设置/移除键的过期时间[亲测有效]

3.3 EXPIRE

EXPIRE命令用来给指定的key设置过期时间,单位为秒。

如果过期时间设置成功,返回1。

如果key不存在,返回0。

Redis系列(六):设置/移除键的过期时间[亲测有效]

3.4 PEXPIRE

PEXPIREEXPIRE类似,也是用来给指定的key设置过期时间,但单位为毫秒。

如果过期时间设置成功,返回1。

如果key不存在,返回0。

Redis系列(六):设置/移除键的过期时间[亲测有效]

3.5 EXPIREAT

EXPIREAT命令用来给指定的key设置过期时间,但指定的是某个时间点秒数的UNIX时间戳。

如果过期时间设置成功,返回1。

如果key不存在,返回0。

可以使用如下Java代码获取秒数的时间戳:

System.out.println(LocalDateTime.now().plusMinutes(2).toEpochSecond(ZoneOffset.ofHours(8)));

Redis系列(六):设置/移除键的过期时间[亲测有效]

3.6 PEXPIREAT

PEXPIREATEXPIREAT类似,用来给指定的key设置过期时间,但指定的是点毫秒数的UNIX时间戳。

如果过期时间设置成功,返回1。

如果key不存在,返回0。

可以使用如下Java代码获取毫秒数的时间戳:

代码100分System.out.println(System.currentTimeMillis());

System.out.println(LocalDateTime.now().plusMinutes(2).toInstant(ZoneOffset.ofHours(8)).toEpochMilli());

Redis系列(六):设置/移除键的过期时间[亲测有效]

3.7 PERSIST

PERSIST命令用来移除指定key的过期时间。

如果过期时间移除成功,返回1。

如果key不存在或者key没有设置过期时间,返回0。

Redis系列(六):设置/移除键的过期时间[亲测有效]

4. 源码及参考

黄健宏 《Redis设计与实现》

https://redis.io/commands

我是一名奋斗在上海的程序员,如果有兴趣,欢迎添加我的个人微信(个人主页上有我的微信),一起交个朋友。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8597.html

(0)
上一篇 2023-02-25
下一篇 2023-02-25

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注