redis更新key的存在时间

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

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

生存时间可以通过使用DEL命令来删除整个key来移除,或者被SETGETSET命令覆写(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<K,V>

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

/**

* 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);

/**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值