美文网首页
redis键过期

redis键过期

作者: 杂记_ | 来源:发表于2021-01-25 21:08 被阅读0次

键过期相关命令:expire、ttl、expireat、pexpire、pexpireat、pttl、persist等。

1. expire

命令:EXPIRE key seconds
返回值:
1:设置成功
0:键不存在
时间复杂度:O(1)

127.0.0.1:6379> set test1 value1
OK
127.0.0.1:6379> expire test1 100
(integer) 1
127.0.0.1:6379> expire test2 100
(integer) 0

为键设置一个seconds秒的过期时间。

2. pexpire

PEXIRE key milliseconds
键在milliseconds毫秒后过期。用法同expires。

3. expireat

EXPIREAT key timestamp
返回值:
1:设置成功
0:键不存在
时间复杂度:O(1)

127.0.0.1:6379> set test1 value1
OK
127.0.0.1:6379> expireat test1 1611578391
(integer) 1
127.0.0.1:6379> expireat test3 1611578392
(integer) 0
127.0.0.1:6379> 

键在未来的指定时间过期,但这里的时间需要转换为时间戳。

4. pexpireat

PEXPIREAT key milliseconds-timestamp
键在毫秒级时间戳后过期。用法同expirat。

5. persist

PERSIST key
返回值:
1:键的过期时间被移除
0:键不存在或键未设置过期时间
时间复杂度:O(1)

127.0.0.1:6379> set test1 value1
OK
127.0.0.1:6379> expire test1 1000
(integer) 1
127.0.0.1:6379> PERSIST test1
(integer) 1
127.0.0.1:6379> ttl test1
(integer) -1
127.0.0.1:6379> get test1
"value1"

清除键的过期时间。

6. ttl和pttl

TTL key
返回值:
大于等于0的整数:键剩余的过期时间
-1:键没有设置过期时间
-2:键不存在
时间复杂度:O(1)

PTTL key
返回毫秒级的剩余过期时间,精度更高。用法同ttl。

7. setex

set key value [EX seconds] [PX milliseconds] [NX|XX]

setex key seconds value
作为set+expire的组合,可以实现原子执行,同事减少一次网络通讯的时间。


无论是使用过期时间还是时间戳,秒级还是毫秒级,在Redis内部最终使用的都是pexpireat。

如果过期时间为负值,键立即被删除。

如果键设置过过期时间,再执行设置过期时间的命令,会将之前设置的过期时间覆盖掉。

使用DEL和SET、GETSET等具有“存储”意义的命令时,会将之前设置的过期时间清除或覆盖。

RENAME key newkey 原key的过期时间将被保留。

相关文章

  • Redis 特性

    一、键的过期 Redis 可以为每个键设置过期时间,当键过期时,会自动删除该键。 二、事务与流水线 使用 MULT...

  • redis如何设置键过期和键过期对内存的影响

    如何设置键过期 Redis所有的键都可以设置过期属性,内部保存在过期字典中。 expire key seconds...

  • redis的过期时间和过期删除机制

    一:设置过期时间 redis有四种命令可以用于设置键的生存时间和过期时间: 二:保存过期时间 那么redis里面对...

  • Redis过期删除策略和内存淘汰策略

    1. 过期删除策略 Redis可以用使用expire指令设置过期时间,在Redis内部,每当我们设置一个键的过期时...

  • redis键过期

    键过期相关命令:expire、ttl、expireat、pexpire、pexpireat、pttl、persis...

  • Redis键的生存时间和过期时间

    一、设置键的过期时间 Redis可以通过EXPIRE、PEXPIRE、EXPIREAT、PEXPIREAT对键设置...

  • redis原理分析

    过期时间设置 在Redis中提供了Expire命令设置一个键的过期时间,到期以后Redis会自动删除它。EXPIR...

  • redis--数据库

    数据库对象定义如下: redisDb定义如下: 过期键删除 惰性删除redis过期键惰性删除策略定义在db.c/e...

  • 2.内部原理分析

    过期时间设置 在Redis中提供了Expire命令设置一个键的过期时间,到期以后Redis会自动删除它。这个在我们...

  • redis操作

    1.设置redis键的过期时间(秒) : set key value ex 10 # 设置key的过期时间10...

网友评论

      本文标题:redis键过期

      本文链接:https://www.haomeiwen.com/subject/vzvizktx.html