1. redis设置过期时间:
问题:只能给key设置过期时间吗?可以只给(key,value)赋过期时间吗?
redis有四种命令可以用于设置键的生存时间和过期时间:
EXPIRE <KEY> <TTL> : 将键的生存时间设为 ttl 秒
PEXPIRE <KEY> <TTL> :将键的生存时间设为 ttl 毫秒
EXPIREAT <KEY> <timestamp> :将键的过期时间设为 timestamp 所指定的秒数时间戳(固定的时间戳)
PEXPIREAT <KEY> <timestamp>: 将键的过期时间设为 timestamp 所指定的毫秒数时间戳
记忆:expireat = expire + at(=timestamp)
注意:
1.有些操作会覆盖过期时间,如del set 等,有些不会,如incre lpush等
persist (设置成持久化key),会清除过期时间
rename 重命名前的过期时间会继承到新名称上
设置过期时间是负数,或者时间戳是过去时间,key会被直接删除
2. 查看剩余过期时间:
ttl = time to live
格式:ttl key
127.0.0.1:6379> set key_1 value_1 ex 100
OK
127.0.0.1:6379> ttl key_1
(integer) 95