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。