一,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值到毫秒的时间戳