这篇文章运用简单易懂的例子给大家介绍如何设置合适的redis过期时间,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
过期时间设置
设置过期时间指的是在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过期时间就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。