Redis中的TTL

Redis的ttl是在实战中的一个常用的命令,在学redis的过程中单纯的用过,没有更加深入的了解。下面附上Redis的官方文档:

TTL key
起始版本:1.0.0

时间复杂度:O(1)

返回key剩余的过期时间。 这种反射能力允许Redis客户端检查指定key在数据集里面剩余的有效期。

在Redis 2.6和之前版本,如果key不存在或者已过期时返回-1。

从Redis2.8开始,错误返回值的结果有如下改变:

如果key不存在或者已过期,返回 -2
如果key存在并且没有设置过期时间(永久有效),返回 -1 。
另见PTTL命令返回相同的信息,只不过他的时间单位是毫秒(仅适用于Redis 2.6及更高版本)。

返回值
Integer reply: key有效的秒数(TTL in seconds),或者一个负值的错误 (参考上文)。

例子
redis> SET mykey "Hello"
OK
redis> EXPIRE mykey 10 # 设置mykey 10秒后过期
(integer) 1
redis> TTL mykey # 查看mykey剩余的过期时间
(integer) 10
redis> 

设置过期时间通常与EXPIRE进行结合使用,而ttl函数是对其进行查询过期时间。

补充:2020-11-11
碰见一个问题,因为springcloude还没开始,所以redis一直没有应用到实战。
问:在项目中,如果需要给数据进行预热,怎么找出需要预热的字段?用redis自带的功能。
对数据进行预热,在Redis4.0之后出现了 redis-cli -hotkeys 命令,提供热点发现。但是这种方式在执行过程中如果参数比较多的话,会导致执行起来会比较慢。
在网上查看类似的帖子之后,发现还有一种方式:monitor命令 。
官网上的描述是这样的:

MONITOR 是一个调试命令,返回服务器处理的每一个命令,它能帮助我们了解在数据库上发生了什么操作,可以通过redis-cli和telnet命令使用.
使用SIGINT (Ctrl-C)来停止 通过redis-cli使用MONITOR命令返回的输出.
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值