过期时间设置

设置过期时间指的是在key上设置一个时间,使得key在这个时间之内存活,过了这个时间,则删除该key及其对应的值;redis中一般设置过期时间,而非使用del命令消除元素;

一旦设置了过期时间,这个key只能被命令清除、删除或者重写其内容。这些命令包含del、set、getset以及所有的*store命令。这些命令只能改变key对应的value的存储值而不改变过期时间的设置。

如:使用incr改变key对应的value、使用lpush添加一个新的元素到lists中、使用hset设置field对应value的值等等,这些操作都不影响已经对key设置的过期时间的属性。

1.通过expire命令实现:demo:expire key 10 ----->为给定的key设置过期时间为10秒

2.通过setex命令实现:demo:setex key 10 value ----->设置key的值为value,存活10秒--->针对key的value为String类型;

以上两种方式均是针对的key,为其设置过期时间;想要对value中的某一部分数据(其他数据类型)进行过期时间的设置,则需通过其他的方式进行;

设置了过期时间的key依然可以使用persist命令重新持久化。(PERSIST命令可以移除一个键的过期时间)

注意:rename命令重命名key后,原始的key对应属性全部发生转移。如果key设置了过期时间,并且尚未被删除,使用rename命令重新命名后,该过期时间将转移到新的key上。

如果调用expire或者pexpire时传给一个负值作为参数以及expireat或者pexpireat调用的时候时间戳已经过去,那么该key将直接被删除而不是等待过期。

刷新过期时间

对一个设置了过期时间的key仍然可以调用expire更新其过期时间。

返回值

设置过期时间会返回一个整数值;

1)如果过期时间被设置成功,返回1;

2)如果设置失败或者key不存在,则返回0;

以上就是redis过期时间设置多久合适的详细内容,转载自php中文网

点赞(634) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部