一,redis处理过期keys的机制

当client主动访问key时,会先对key进行超时判断,过时的key会立刻删除;另外

Redis会在后台,每秒10次的执行如下操作: 随机选取100个key校验是否过期,如果有25

个以上的key过期了,立刻额外随机选取下100个key(不计算在10次之内)。也就是说,如果

过期的key不多,Redis最多每秒回收200条左右,如果有超过25%的key过期了,它就会做得

更多,这样即使从不被访问的数据,过期了也会被删除掉。

二, 处理过期keys的命令

1:expire:设置过期时间,格式是expire key值秒数

2:expireat:设置过期时间,格式是expireat key值到秒的时间戳

3:ttl:查看还有多少秒过期,格式是ttl key值,-1表示永不过期,-2表示已过期

4:persist:设置成永不过期,格式是persist key值,删除key的过期设置;另外使用set或

者getset命令为键赋值的时候,也会清除键的过期时间

5:pttl:查看还有多少毫秒过期,格式是pttl key值

6:pexpire:设置过期时间,格式是pexpire key值毫秒数

7:pexpireat:设置过期时间,格式是pexpireat key值到毫秒的时间戳