如何在redis中获取占用空间比较大的key?


需求

  当发现redis服务器占用内存比较高,和平时的内存占用比起来,高很多,

  需要分析下,到底是哪些key占用空间较大,

  然后,再进一步的判断,是不是业务异常导致key过大或者不释放

 

下面,就介绍一种方法,帮你找到哪些key占用空间大

 

方法非常的简单

 

执行下面的命令:

 

./redis-cli -p <服务端口> -a <认证密码> --bigkeys

 

 

查询结果:

 

通过这个输出结果,就可以看出哪些key占用空间比较大,字段比较多

 

然后,通过memory usage命令,可以进一步的看,这个key到底占用多大的空间

 

比如:

 

 

查询出来的空间占用单位是:bytes。

 

上面的这个key占用空间的大小是11G左右,如果整个redis服务器占用的空间也是这么大,那么说明,基本上内存都被这个key占用了

 

剩下的,就是和研发一起看下,这个key是如何来的,怎么清理,释放内存了。

 

 

posted @ 2023-02-15 10:03  Zhai_David  阅读(1780)  评论(0编辑  收藏  举报