Redis Expire 设置过期时间

Redis Expire 命令

EXPIRE key seconds

设置key的过期时间,超过时间后,将会自动删除该key。如果设置的过期时间时负数,则会直接删除目标key。

返回值:1 设置完成, 0 key不存在

 

如何清除过期时间:

  1. 只有删除或覆盖键内容的命令(包括DEL,SET,GETSET和所有*STORE 命令)才能清除过期时间。这意味着所有在概念上更改存储在键上的值而不用新键替换的操作都将保持过期时间不变。举例来说,增加一键的值INCR,推新值的列表,包括LPUSH,或改变了哈希的字段值HSET是将离开超时不变的所有操作。
  2. 使用PERSIST命令清除超时,将key变回永久key。

Redis 如何淘汰过期的键

Redis密钥以两种方式过期:被动方式和主动方式。

  • 仅当某些客户端尝试访问密钥时,密钥才会被动失效,并且发现该密钥超时。
    • Redis每秒执行10次的操作:
  1. 随机抽取测试20个带有过期时间的 keys
  2. 删除找到的所有 keys 已过期
  3. 如果超过25%的 keys 已过期,从步骤1重新开始

你可能感兴趣的:(redis)