redis过时时间设置

Redis对存储值的过时处理其实是针对该值的键(key)处理的,时间的设置也是设置key的有效时间。
注:
  一、除了字符串本身独有设置过时时间的方法外,其余方法都须要依靠expire方法来设置时间
  二、若是没有设置时间,那缓存就是永不过时
  三、若是设置了过时时间,以后又想让缓存永不过时,使用persist keyweb

expire key time(以秒为单位)--这是最经常使用的方式
setex(String key, int seconds, String value)--字符串独有的方式

1.经常使用的4种设置过时时间方式:缓存

1 EXPIRE key seconds  //将key的生存时间设置为ttl秒
2 PEXPIRE key milliseconds  //将key的生成时间设置为ttl毫秒
3 EXPIREAT key timestamp  //将key的过时时间设置为timestamp所表明的的秒数的时间戳
4 PEXPIREAT key milliseconds-timestamp  //将key的过时时间设置为timestamp所表明的的毫秒数的时间戳

备注:timestamp为unix时间戳(例如:timestamp=1499788800 表示将在2017.07.12过时)svg

1和2两种方式是设置一个过时的时间段,好比处理验证码最经常使用的策略,设置三分钟或五分钟后失效,把分钟数转换成秒或毫秒存储到Redis中。
3和4两种方式是指定一个过时的时间 ,好比优惠券的过时时间是某年某月某日,只是单位不同。ui

返回值
一个整数值1或0spa

若是成功地为该键设置了超时时间,返回 1
若是键不存在或没法设置超时时间,返回 0

2.字符串独有方式
对字符串特殊处理的方式为SETEX命令,SETEX命令为指定的 key 设置值及其过时时间。若是 key 已经存在, SETEX 命令将会替换旧的值。unix

返回值
设置成功时返回 OK 。code