设置redis key过期时间或生存时间有两种方法可以用,为什么要设置redis key的过期时间呢?有哪些应用场景?
比如我们在发送手机验证码的时候,可以将手机号作为redis key,验证码作为redis value存储在redis中,并设置过期时间为60秒,这个时候当用户收到短信验证码的时候,如果60秒的时间到了,从redis中获取手机短信验证码时就会返回nil,这样我们就可以认为用户输入短信验证已经过期了,这样就无需使用msyql等数据库来存储我们发送的验证码了。
下面是设置redis key过期时间的方法,如下。
方法一:
127.0.0.1:6379> set mykey 'hello world' OK 127.0.0.1:6379> get mykey "hello world" 127.0.0.1:6379> expire mykey 10 //设置key过期时间 (integer) 1 127.0.0.1:6379> get mykey "hello world" 127.0.0.1:6379> get mykey //10秒后获取得到nil值 (nil) 127.0.0.1:6379>
方法二:
127.0.0.1:6379> setex mykey 10 "hello world" OK 127.0.0.1:6379> ttl mykey //查询还剩下几秒 (integer) 9 127.0.0.1:6379> get mykey (nil) 127.0.0.1:6379>
redis两种设置key过期时间的方法都很简单吧!