【Redis教程0x08】详解Redis过期删除策略&内存淘汰策略

引言

Redis的过期删除策略和内存淘汰策略是经常被问道的问题,这两个机制都是做删除操作,但是触发的条件和使用的策略是不同的。今天就来深入理解一下这两个策略。

过期删除策略

Redis 是可以对 key 设置过期时间的,因此需要有相应的机制将已过期的键值对删除,而做这个工作的就是过期键值删除策略。

如何设置过期时间?

Redis中,设置key过期时间的命令一共有4个:

  • expire :设置key在n秒后过期。
  • pexpire :设置key在n毫秒后过期。
  • expireat :设置key在某个时间戳(精确到秒)之后过期。
  • pexpireat :设置key在某个时间戳(精确到毫秒)之后过期。

当然,在设置字符串时,也可以同时对key设置过期时间,共有3种命令:

  • set ex :设置键值对的时候,同时指定过期时间(精确到秒);
  • set px :设置键值对的时候,同时指定过期时间(精确到毫秒);
  • setex :设置键值对的时候,同时指定过期时间(精确到秒);

要想查看某个key剩余的存活时间,可以使用命令TTL

# 设置键值对时,指定过期时间为60s
> set name iq50 ex 60
OK

# 查看过期时间
> ttl name
(integer) 56
> ttl name
(integer) 50

# 可以通过PERSIST <key>命令取消过期时间
> persist name
(integer) 1

# -1表示永不过期
> ttl name
(integer

你可能感兴趣的:(Redis,redis,数据库,数据结构,缓存)