redis更新key的存在时间

在 Redis 中,可以为给定key设置生存时间,当key过期时(生存时间为0),它会被自动删除。

在 Redis 中,带有生存时间的key被称为『易失的』(volatile)。

生存时间可以通过使用DEL命令来删除整个key来移除,或者被SET和GETSET命令覆写(overwrite),这意味着,如果一个命令只是修改(alter)一个带生存时间的key的值而不是用一个新的key值来代替(replace)它的话,那么生存时间不会被改变。

比如说,对一个key执行INCR命令,对一个列表进行LPUSH命令,或者对一个哈希表执行HSET命令,这类操作都不会修改key本身的生存时间。

另一方面,如果使用RENAME对一个key进行改名,那么改名后的key的生存时间和改名前一样。

RENAME命令的另一种可能是,尝试将一个带生存时间的key改名成另一个带生存时间的another_key,这时旧的another_key(以及它的生存时间)会被删除,然后旧的key会改名为another_key,因此,新的another_key的生存时间也和原本的key一样。

使用PERSIST命令可以在不删除key的情况下,移除key的生存时间,让key重新成为一个『持久的』(persistent)key

在java的org.springframework.data.redis.core有接口ValueOperations

在保存时设置该条数据的生存时间

/**

* Set {@codevalue} for {@codekey}.

*

*@paramkeymust not be {@literalnull}.

*@paramvalue

*@seeRedis Documentation: SET

*/

void set(K key,V value);

/**

* Set the {@codevalue} and expiration {@codetimeout} for {@codekey}.

*

*@paramkeymust not be {@literalnull}.

*@paramvalue

*@paramtimeout

*@paramunitmust not be {@literalnull}.

*@seeRedis Documentation: SETEX

*/

void set(K key,V value, long timeout,TimeUnit unit);

/**

作者:谁在烽烟彼岸

链接:https://www.jianshu.com/p/7503200c68ad

來源:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(redis更新key的存在时间)