查看Redis内存信息的命令

xiancaione 2020-09-08

查看Redis内存使用

info 命令用于监控Redis运行情况,其中 info memory 可以查看Redis内存使用统计信息:

redis-cli info memory

命令输出结果如下图:

查看Redis内存信息的命令

前几个字段信息最为重要,其含义分别为:

属性名 属性说明
used_memory Redis 分配器分配的内存总量,也就是内部存储的所有数据内存占用量
used_memory_human 以可读的格式返回 used_memory
used_memory_rss 从操作系统的角度显示 Redis 进程占用的物理内存总量
used_memory_rss_human used_memory_rss 的用户宜读格式的显示
used_memory_peak 内存使用的最大值,表示 used_memory 的峰值
used_memory_peak_human 以可读的格式返回 used_memory_peak的值

查看Key统计信息

Keys命令性能很不好,线上使用该命令简直是业务克星,因此建议生产环境屏蔽Keys命令。如果只是想查看Key统计信息,可以使用另外两个命令:

1. dbsize:查看当前数据库的有效key数量

2. info keyspaceinfo命令给出Redis实例各个数据库的Key信息

两个命令输出如下:

查看Redis内存信息的命令

可以看到,info keyspace命令给出更全的统计信息。

查看占用内存最大的Key

查看数据库中哪个Key占用内存最大,可以使用--bigkeys参数:

redis-cli -n 5 --bigkeys

命令输出如下:

查看Redis内存信息的命令

运行结果按照从小到大的顺序给出了内存占用最高的10个Key。上图结果中,最大Key的值占用内存达到300多K。

对于string类型,bigkeys的输出是正确的,然而list、sets等数据结构,bigkeys的计算方式可能存在问题,实践中请注意着点。

此外--bigkeys参数还给出了Keys信息的统计。上述输出中,所有的数据都是string类型,没有list、sets等类型数据。

相关推荐

DiamondTao / 0评论 2020-08-30