如何在redis中获取占用空间比较大的key?
需求:
当发现redis服务器占用内存比较高,和平时的内存占用比起来,高很多,
需要分析下,到底是哪些key占用空间较大,
然后,再进一步的判断,是不是业务异常导致key过大或者不释放
下面,就介绍一种方法,帮你找到哪些key占用空间大
方法非常的简单
执行下面的命令:
./redis-cli -p <服务端口> -a <认证密码> --bigkeys
查询结果:
通过这个输出结果,就可以看出哪些key占用空间比较大,字段比较多
然后,通过memory usage命令,可以进一步的看,这个key到底占用多大的空间
比如:
查询出来的空间占用单位是:bytes。
上面的这个key占用空间的大小是11G左右,如果整个redis服务器占用的空间也是这么大,那么说明,基本上内存都被这个key占用了
剩下的,就是和研发一起看下,这个key是如何来的,怎么清理,释放内存了。