在 Redis 中,可以为键设置一个过期时间(TTL,Time to Live),使得键在指定的时间之后自动被删除。这在缓存数据时特别有用,因为你可以让老旧的数据自动过期,从而释放内存。
有两种主要方式来设置键的过期时间:
使用 EXPIRE
命令
EXPIRE
命令可以为键设置一个过期时间,单位为秒。例如,如果你想让键 "my_key"
在 60 秒后过期,可以使用以下命令:
1EXPIRE my_key 60
使用 PEXPIRE
命令
如果你需要设置一个更精确的过期时间,可以使用 PEXPIRE
命令,这个命令的过期时间单位为毫秒。例如,设置键 "my_key"
在 10000 毫秒(即 10 秒)后过期:
1PEXPIRE my_key 10000
设置带有过期时间的值
除了上面的命令外,你还可以在设置键的值的同时直接指定过期时间,使用 SETEX
或 PSETEX
命令。
例如,使用 SETEX
将 "my_key"
设置为 "my_value"
,并在 60 秒后过期:
1SETEX my_key 60 my_value
或者使用 PSETEX
指定毫秒为单位的过期时间:
1PSETEX my_key 10000 my_value
检查键的剩余过期时间
要检查一个键的剩余过期时间,可以使用 TTL
命令(单位为秒)或 PTTL
命令(单位为毫秒)。如果键没有设置过期时间,TTL
命令将返回 -1
,如果键不存在,则返回 -2
。
1TTL my_key
或者:
1PTTL my_key
移除过期时间
如果你想移除一个键的过期时间,使其永久存储,可以使用 PERSIST
命令:
1PERSIST my_key