Redis是一种高性能的键值数据库,它可以为每个key设置一个过期时间,当key过期后,它会自动从数据库中删除。这样可以有效地管理内存空间,避免数据过期或冗余。
那么,如何在Redis中查看key的过期时间呢?其实,Redis提供了一个简单而强大的命令:TTL。TTL的全称是Time To Live,意思是剩余生存时间。它可以接受一个key作为参数,返回该key的剩余生存时间,单位是秒。如果该key不存在或没有设置过期时间,它会返回-1;如果该key已经过期,它会返回-2。
例如,我们在Redis中设置了一个key为name,值为Alice,并且设置了过期时间为60秒。我们可以使用以下命令来查看它的剩余生存时间:
如果我们等待一段时间后再次查询,我们会发现剩余生存时间减少了:
如果我们等待到该key过期后再次查询,我们会发现返回了-2:
这就说明该key已经从数据库中删除了。
除了TTL命令外,Redis还提供了另外两个命令来设置和查询key的过期时间:EXPIRE和PTTL。EXPIRE命令可以接受一个key和一个秒数作为参数,给该key设置一个过期时间。PTTL命令可以接受一个key作为参数,返回该key的剩余生存时间,单位是毫秒。
例如,我们可以使用以下命令来给一个key设置一个10分钟的过期时间,并且查询它的剩余生存时间: