PEXPIRE
命令用于为已设置的键设置过期时间,单位是毫秒。当键的过期时间到达时,Redis 会自动删除该键。PEXPIRE
命令的生效过程如下:
当客户端执行 PEXPIRE key milliseconds
命令时,Redis 会将键 key
的过期时间设置为 milliseconds
毫秒。
Redis 会将这个过期时间存储在键的元数据中。键的元数据是一个包含键值对的数据结构,其中键是过期时间(以毫秒为单位)。
Redis 会启动一个后台定时任务,用于检查键的过期时间是否到达。这个定时任务的执行频率取决于 Redis 的配置选项 maxmemory-policy
和 maxmemory
。
当定时任务检查到键的过期时间到达时,Redis 会删除该键及其对应的值。
需要注意的是,PEXPIRE
命令设置的过期时间是相对于当前时间的,而不是绝对时间。例如,如果 PEXPIRE key 30000
被执行,那么键 key
的过期时间为 30 秒(30000 毫秒)。如果在这段时间内键仍然被使用,那么它的过期时间将被重置为新的执行 PEXPIRE
命令时的值。