当前位置: 首页 > 数据应用 > Redis

Redis中如何设置和查看key的有效期

时间:2023-06-29 01:18:29 Redis

Redis是一种高性能的键值数据库,它可以存储不同类型的数据,如字符串、列表、集合、散列等。Redis的一个特点是它可以为每个key设置一个有效期,也就是过期时间。当key过期后,Redis会自动删除该key及其对应的值,从而节省内存空间和提高缓存效率。

那么,如何设置和查看key的有效期呢?本文将介绍几种常用的方法。

设置key的有效期

设置key的有效期有两种方式:一种是在创建key时就指定过期时间,另一种是在创建key后再设置过期时间。

在创建key时指定过期时间

在创建key时指定过期时间,可以使用以下命令:

1.SETEX key seconds value:将字符串值value关联到key,并将key的过期时间设为seconds(以秒为单位)。

2.SET key value EX seconds:与SETEX命令相同,只是参数顺序不同。

3.PSETEX key milliseconds value:将字符串值value关联到key,并将key的过期时间设为milliseconds(以毫秒为单位)。

4.SET key value PX milliseconds:与PSETEX命令相同,只是参数顺序不同。

这些命令都会返回OK表示成功。如果key已经存在,那么会覆盖原来的值,并更新过期时间。

在创建key后设置过期时间

在创建key后设置过期时间,可以使用以下命令:

1.EXPIRE key seconds:为给定key设置过期时间,以秒为单位。

2.PEXPIRE key milliseconds:为给定key设置过期时间,以毫秒为单位。

3.EXPIREAT key timestamp:为给定key设置过期时间,timestamp参数指定的是UNIX时间戳(以秒为单位)。

4.PEXPIREAT key timestamp:为给定key设置过期时间,timestamp参数指定的是UNIX毫秒时间戳(以毫秒为单位)。

这些命令都会返回1表示成功。如果key不存在或者已经过期,那么会返回0表示失败。

查看key的有效期

查看key的有效期,可以使用以下命令:

1.TTL key:以秒为单位,返回给定key的剩余生存时间(Time To Live)。

2.PTTL key:以毫秒为单位,返回给定key的剩余生存时间(Time To Live)。

这些命令都会返回一个整数值。如果key存在并且有过期时间,那么返回剩余生存时间;如果key不存在或者没有设置过期时间,那么返回-1;如果key已经过期,那么返回-2。