redis 都啥类型可以设置过期时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis 都啥类型可以设置过期时间相关的知识,希望对你有一定的参考价值。

参考技术A string类型 set string1 10 'hello',设置10秒过期

redis hash结构如何设置过期时间

Redis中有个设置时间过期的功能,即通过setex或者expire实现,目前redis没有提供hsetex()这样的方法,redis中过期时间只针对顶级key类型,对于hash类型是不支持的,这个时候,我们可以采用,所以如果想对hash进行expires设置,可以采用下面的方法:


redis 127.0.0.1:6379> hset expire:me name tom

(integer) 0

redis 127.0.0.1:6379> hget expire:me name

"tom"

 

redis 127.0.0.1:6379> expire expire:me 20

(integer) 1

redis 127.0.0.1:6379> ttl expire:me

(integer) 8

 

...

...

...

 

redis 127.0.0.1:6379> ttl expire:me

(integer) -1

redis 127.0.0.1:6379> hget expire:me name

(nil)

即对存储在redis数据库中的值可以设置一个过期时间。作为一个缓存数据库,这是非常实用的。如我们一般项目中的token或者一些登录信息,尤其是短信验证码都是有时间限制的,按照传统的数据库处理方式,一般都是自己判断过期,这样无疑会严重影响项目性能。


以上是关于redis 都啥类型可以设置过期时间的主要内容,如果未能解决你的问题,请参考以下文章

Redis——过期时间

redis hash过期时间

Redis的过期key清除策略

spring-redis SortedSet类型成员的过期时间处理

聊聊 Redis 的过期键删除策略

Redis过期策略