Redis如何查看key的缓存剩余时间和key值大小

我们之前在flask中使用过flask_caching模块缓存网站部分更新频率不高的数据,但是没有记录如何查看redis中的key缓存时间和大小的方法,所以今天就来记录下,实际很简单的操作。

其中flask_caching的使用方法,我们可以查看之前的笔记:https://sulao.cn/post/1007

Redis提供了多个命令来查看缓存数据的时间戳,其中最常用的命令是ttl和pttl,查看缓存大小通常可以使用自带的MEMORY USAGE命令

ttl它返回的是以秒为单位的时间,表示 key 距离过期的时间还有多久。如果返回 -1,表示 key 没有设置过期时间;如果返回 -2,表示 key 不存在。
pttl返回值的含义与“ttl”命令相同,只是单位变成了毫秒。

下面我们就来具体查询下缓存时间的查询

redis-cli
keys *

202508101533378251063027.png

可以看到我们缓存了15条数据,我们查询最后一条数据看看缓存剩余时间是多久。

127.0.0.1:6379> TTL "flask_cache_view//chart/trend/all_writing"
(integer) 7109

可以看到缓存剩余时间接近2小时,我们再使用PTTL查看下

PTTL "flask_cache_view//chart/trend/all_writing"
6790702

可以看到数值变长了,这是因为单位为毫秒,中间少的时间是由于我操作时间间隔。

返回值相关的解释如下:
如果返回 -1,表示该 key 没有设置过期时间,即缓存永不过期;
如果返回 -2,表示该 key 不存在,即缓存已经被移除;
如果返回一个正整数,表示还有多少秒过期。

查看缓存大小的方法如下

MEMORY USAGE "flask_cache_view//chart/trend/all_writing"
(integer) 856

返回的长度就是key的字节长度,上述856就是还不到1k大小。Redis单个key的大小不能超过512MB。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/1119

评论列表

0%