Redis:让键自动过期(redis键过期)
Redis,一款开源的内存数据库,拥有高性能,跨平台,模块试用,多种数据类型等众多优势,可被广泛应用于聊天室,即时消息系统,缓存系统,社交网络,流媒体,IOT,及其它实时软件系统中。
在使用Redis时,用户可以为key设置超时时间,这样就可以让key在某个时间点自动失效,避免了大量的无效key占用内存。当设置key的超时时间时,每个key都有一个计时器,一旦过了设定的时间计数器就会到达减少,当计时器达到零时,Redis会自动删除这个key。
对于Redis,它提供了两种让键值自动过期的命令:EXPIRE和PEXPIRE。
EXPIRE命令可以以秒的形式设置指定key的过期时间,例如下面的代码,把key为user1的过期时间设置成20秒:
redis> set user1 user
OK
redis> EXPIRE user1 20 (integer) 1
PEXPIRE命令用来以毫秒为单位设置指定key的过期时间,例如把key为user2的过期时间设置成2000毫秒:
redis> set user2 user
OK
redis>PEXPIRE user2 2000 (integer) 1
同时,还提供了两个检查key是否过期的命令:TTl和PTTL,分别用来检查key的秒和毫秒超时时间。
Redis的键设置超时时间可以让当key不再需要使用时自动失效,从而避免无效key占用内存,可以有效提高存储优化,使用Redis便可更好、更便捷的管理大量数据。