• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

玩转Redis-高级程序员必知的Key命令

武飞扬头像
zxiaofan
帮助2

《玩转Redis》系列文章主要讲述Redis的基础及中高级应用,文章基于Redis5.0.4 。本文主要讲述Redis的Key相关命令,主要包含以下内容:

  • 【Key过期命令】:EXPIRE、PEXPIRE、EXPIREAT、PEXPIREAT、TTL、PTTL;
  • 【其他Key命令】:DEL、EXISTS、KEYS、DUMP、MIGRATE、MOVE、PERSIST、RANDOMKEY、RENAME、RENAMENX、RESTORE、TOUCH、TYPE、UNLINK、WAIT、OBJECT、SORT;

最新思维导图原图可于公众号【zxiaofan】留言获取。

学新通

1、Key过期命令

1.1、Key过期命令简述

  • 设置过期时间为一段时间后(EXPIRE、PEXPIRE);
  • 设置过期时间为指定时间点(EXPIREAT、PEXPIREAT);
  • 查询过期时间(TTL、PTTL);
命令 功能 参数
EXPIRE 设置key的过期时间 key seconds
PEXPIRE 设置key的过期时间(毫秒) key milliseconds
EXPIREAT 设置key的过期时间为Unix时间戳(since 1970-01-01) key timestamp
PEXPIREAT 设置key的过期时间为Unix毫秒时间戳(since 1970-01-01) key milliseconds-timestamp
TTL 查询指定key的剩余生存时间 key
PTTL 查询指定key的剩余生存时间(毫秒) key

1.2、Key过期命令注意

  • Redis Version >= 2.6.0后,过期时间支持毫秒;
  • 过期时间支持设置一段时间后过期,也支持设置指定时间点过期;
  • 过期时间和电脑时钟相关,如果修改时钟为未来的时间,则key会立即过期;
  • key被rename后,新key过期时间沿用旧key的过期时间;
  • version<=2.4时,过期精度有0-1S误差,Redis2.6起(支持PSETEX),误差缩小到0-1MS;
  • 以上6个命令时间复杂度都是O(1);
  • 【TTL、PTTL】
    • Redis version <= 2.6:key不存在或存在且未设置过期时间返回-1;
    • Redis version >=Redis 2.8:key不存在返回-2;存在且未设置过期时间返回-1;

1.3、Key过期命令详细对比分析

学新通


1.4、Key过期命令示例

127.0.0.1:6378> set dyh @zxiaofan
OK
127.0.0.1:6378> expire dyh 5
(integer) 1
127.0.0.1:6378> ttl dyh
(integer) 0
127.0.0.1:6378> expire dyh 5
(integer) 0
127.0.0.1:6378> ttl dyh
(integer) -2
127.0.0.1:6378> set dyh @zxiaofan
OK
127.0.0.1:6378> expire dyh 50
(integer) 1
127.0.0.1:6378> ttl dyh
(integer) 47
127.0.0.1:6378> ttl dyh
(integer) 44
127.0.0.1:6378> pexpire dyh 3000
(integer) 1
127.0.0.1:6378> pttl dyh
(integer) -2
127.0.0.1:6378> set dyh @zxiaofan
OK
127.0.0.1:6378> pexpire dyh 30000
(integer) 1
127.0.0.1:6378> pttl dyh
(integer) 26575
127.0.0.1:6378> pttl dyh
(integer) 25039
127.0.0.1:6378> pexpireat dyh 1572536378000
(integer) 0
127.0.0.1:6378> pttl dyh
(integer) -2
127.0.0.1:6378> set dyh @zxiaofan
OK
127.0.0.1:6378> pexpireat dyh 1572536378000
(integer) 1
127.0.0.1:6378> ttl dyh
(integer) 86359
127.0.0.1:6378> ttl dyh
(integer) 86357

2、Redis其他Key命令

2.1、Redis其他Key命令简述

Redis的Key命令众多,支持各式各样的功能:删除、查找、迭代、判断、排序、移动等。

命令

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhecbaeb
系列文章
更多 icon
同类精品
更多 icon
继续加载