大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
redis如何设置过期时间
memcached 和 redis 的set命令都有expire参数,可以设置key的过期时间。
但是redis是一个可以对数据持久化的key-value 数据库,
它的key过期策略还是和memcached有所不同的。
梳理,整理如下:
redis通过expire命令来设置key的过期时间。
****语法:redis.expire(key, expiration)
-
在小于2.1.3的redis版本里,只能对key设置一次expire。
redis2.1.3和之后的版本里,可以多次对key使用expire命令,更新key的expire time。 -
redis术语里面,把设置了expire time的key 叫做:volatile keys。 意思就是不稳定的key。
-
如果对key使用set或del命令,那么也会移除expire time。尤其是set命令,
这个在编写程序的时候需要注意一下。 -
redis2.1.3之前的老版本里,如果对volatile keys 做相关写入操作(LPUSH,LSET),
和其他一些触发修改value的操作时,redis会删除该key。 也就是说 :
redis.expire(key,expiration);
redis.lpush(key,field,value);
redis.get(key) //return null
redis2.1.3之后的版本里面没有这个约束,可以任意修改。
redis.set(key,100);
redis.expire(key,expiration);
redis.incr(key)
redis.get(key)
//redis2.2.2 return 101; redis<2.1.3 return 1;
- redis对过期键采用了lazy expiration:在访问key的时候判定key是否过期,如果过期,
则进行过期处理。其次,每秒对volatile keys 进行抽样测试,如果有过期键,
那么对所有过期key进行处理。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189323.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...