查看Redis内存信息的命令

查看Redis内存使用

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

redis-cli info memory

命令输出结果如下图:

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

属性名 属性说明
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信息

两个命令输出如下:

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

查看占用内存最大的Key

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

redis-cli -n 5 --bigkeys

命令输出如下:

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

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

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

以上就是查看Redis内存信息的命令的详细内容,更多关于查看Redis内存信息的资料请关注我们其它相关文章!

(0)

相关推荐

  • Redis教程(十一):虚拟内存介绍

    一.简介: 和大多NoSQL数据库一样,Redis同样遵循了Key/Value数据存储模型.在有些情况下,Redis会将Keys/Values保存在内存中以提高数据查询和数据修改的效率,然而这样的做法并非总是很好的选择.鉴于此,我们可以将之进一步优化,即尽量在内存中只保留Keys的数据,这样可以保证数据检索的效率,而Values数据在很少使用的时候则可以被换出到磁盘.     在实际的应用中,大约只有10%的Keys属于相对比较常用的键,这样Redis就可以通过虚存将其余不常用的Keys和Val

  • redis数据库查找key在内存中的位置的方法

    一.预先需要了解的知识1.redis 中的每一个数据库,都由一个 redisDb 的结构存储.其中,redisDb.id 存储着 redis 数据库以整数表示的号码.redisDb.dict 存储着该库所有的键值对数据.redisDb.expires 保存着每一个键的过期时间.2.当redis 服务器初始化时,会预先分配 16 个数据库(该数量可以通过配置文件配置),所有数据库保存到结构 redisServer 的一个成员 redisServer.db 数组中.当我们选择数据库 select n

  • 将MongoDB作为Redis式的内存数据库的使用方法

     基本思想 将MongoDB用作内存数据库(in-memory database),也即,根本就不让MongoDB把数据保存到磁盘中的这种用法,引起了越来越多的人的兴趣.这种用法对于以下应用场合来讲,超实用: 置于慢速RDBMS系统之前的写操作密集型高速缓存 嵌入式系统 无需持久化数据的PCI兼容系统 需要轻量级数据库而且库中数据可以很容易清除掉的单元测试(unit testing) 如果这一切可以实现就真是太优雅了:我们就能够巧妙地在不涉及磁盘操作的情况下利用MongoDB的查询/检索功能.可

  • 浅谈redis采用不同内存分配器tcmalloc和jemalloc

    我们知道Redis并没有自己实现内存池,没有在标准的系统内存分配器上再加上自己的东西.所以系统内存分配器的性能及碎片率会对Redis造成一些性能上的影响. 在Redis的 zmalloc.c 源码中,我们可以看到如下代码: /* Double expansion needed for stringification of macro values. */ #define __xstr(s) __str(s) #define __str(s) #s #if defined(USE_TCMALLOC

  • 降低PHP Redis内存占用

    1.降低redis内存占用的优点 1.有助于减少创建快照和加载快照所用的时间 2.提升载入AOF文件和重写AOF文件时的效率 3.缩短从服务器进行同步所需的时间 4.无需添加额外的硬件就可以让redis存贮更多的数据 2.短结构 Redis为列表.集合.散列.有序集合提供了一组配置选项,这些选项可以让redis以更节约的方式存储较短的结构. 2.1.ziplist压缩列表(列表.散列.有续集和) 通常情况下使用的存储方式 当列表.散列.有序集合的长度较短或者体积较小的时候,redis将会采用一种

  • 浅谈redis内存数据的持久化方式

    一.概述 Redis的强大性能很大程度上都是因为所有数据都是存储在内存中的,然而当Redis重启后,所有存储在内存中的数据将会丢失,在很多情况下是无法容忍这样的事情的.所以,我们需要将内存中的数据持久化!典型的需要持久化数据的场景如下: 将Redis作为数据库使用: 将Redis作为缓存服务器使用,但是缓存miss后会对性能造成很大影响,所有缓存同时失效时会造成服务雪崩,无法响应. 本文介绍Redis所支持的两种数据持久化方式. 二.Redis数据持久化 Redis支持两种数据持久化方式:RDB

  • 一次关于Redis内存诡异增长的排查过程实战记录

    一.现象 实例名:r-bp1cxxxxxxxxxd04(主从) 问题:一分钟内存上涨了2G,如下图所示: 键值规模:6000万左右 内存一分钟增长2G.png 二.Redis内存分析 1. 内存组成 上图中的内存统计的是Redis的info memory命令中的used_memory属性,例如: redis>infomemory#Memoryused_memory:9195978072used_memory_human:8.56Gused_memory_rss:9358786560used_me

  • Redis教程(十四):内存优化介绍

    一.特殊编码: 自从Redis 2.2之后,很多数据类型都可以通过特殊编码的方式来进行存储空间的优化.其中,Hash.List和由Integer组成的Sets都可以通过该方式来优化存储结构,以便占用更少的空间,在有些情况下,可以省去9/10的空间.     这些特殊编码对于Redis的使用而言是完全透明的,事实上,它只是CPU和内存之间的一个交易而言.如果内存使用率方面高一些,那么在操作数据时消耗的CPU自然要多一些,反之亦然.在Redis中提供了一组配置参数用于设置与特殊编码相关的各种阈值,如

  • 内存型数据库Redis持久化小结

    因为Redis是内存型数据库,所以为了防止因为系统崩溃等原因导致数据丢失的问题,Redis提供了两种不同的持久化方法来将数据存储在硬盘里面,一种方法是快照(RDB),它可以将存在于某一个时刻的所有数据都写入到硬盘里面,另外一种方法是只追加文件(AOF),它会在执行写命令时,将被执行的写命令都写入到硬盘里面. 快照持久化 Redis可以通过创建快照来获得在内存里面的数据在某一个时间点上的副本.在创建快照之后,用户可以对快照进行备份,可以将快照复制到其它服务器从而创建具有相同数据的服务器副本,还可以

  • 查看Redis内存信息的命令

    查看Redis内存使用 info 命令用于监控Redis运行情况,其中 info memory 可以查看Redis内存使用统计信息: redis-cli info memory 命令输出结果如下图: 前几个字段信息最为重要,其含义分别为: 属性名 属性说明 used_memory Redis 分配器分配的内存总量,也就是内部存储的所有数据内存占用量 used_memory_human 以可读的格式返回 used_memory used_memory_rss 从操作系统的角度显示 Redis 进程

  • linux查看主板内存槽与内存信息的命令dmidecode方法

    1.查看内存槽数.那个槽位插了内存,大小是多少 dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range 2.查看最大支持内存数 dmidecode|grep -P 'Maximum\s+Capacity' 3.查看槽位上内存的速率,没插就是unknown. dmidecode|grep -A16 "Memory Device"|grep 'Speed' 其实以上数值就是通过dmidecode命令

  • Android获取系统储存以及内存信息的方法(二)

    Android获取储存信息以及内存信息可以用adb命令查看. adb查看系统内存信息以及储存信息: 命令:adb shell cat /proc/meminfo 代码: private static final String FILENAME_PROC_MEMINFO = "/proc/meminfo"; /** * 获取手机内存总大小 * @return */ public static String getTotalMemorySize() { try { FileReader f

  • 详解Linux中几个获取硬件详细信息的命令

    在Linux系统特别是服务器系统中常常会需要查看设备的硬件信息,这时候使用命令查看就显得非常方便.本文介绍几个在Linux系统中查看硬件信息的命令,它们是lspci.lsblk.lscpu 和 lsusb. lspci 命令 从命令的名称ls+pci的组合上大致也能看出来,lspci用于显示有关系统中的PCI总线以及与其连接的设备的信息.默认情况下,它显示设备的简短列表,如果配合指定的选项使用可以显示输出更详细的信息. 语法格式: lspci [参数] 常用参数: 选项 描述 -n 以数字方式显

  • Linux常用查看硬件设备信息命令大全(值得收藏)

    # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源 # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du

  • Redis 不使用 keys 命令获取键值信息的方法

    1. 问题来源 这个问题可能看起来很奇怪,但很多 redis 集群会有一个统一的入口,入口会作兼容 redis 命令的代理,一般出于新能考虑是禁止使用 keys 命令来获取键值信息的,但是可以通过 scan 命令来代替 keys 2. 使用 keys 的方法 127.0.0.1:6379> KEYS * 1) "_kombu.binding.test_queue" 2) "a8e620b9-e52e-3498-8a1c-448f35783058" 3) &qu

  • java获取redis日志信息与动态监控信息的方法

    效果展示如下所示: 实时监控 redis环境信息和日志列表 Redis配置 在windows下安装的redis,在安装目录找到redis.windows.conf文件,修改以下字段(按实际情况设置): slowlog-log-slower-than 100 slowlog-max-len 1000000 slowlog-log-slower-than:是配置需要日志记录的命令执行时间,单位是微秒,也就是说配置为100,会记录命令执行时间为0.1ms以上的记录.如果设置为0,就会记录所有执行过的命

  • redis内存空间效率问题的深入探究

    前言 在使用redis时,我们会遇到一个问题,数据删除后,数据量已经不大了,但是使用top命令查看,还会发现redis占用了很对内存.实际上,因为数据删除后,redis释放内存由内存分配器管理,不会立刻返回给操作系统.所以,操作系统仍然记录着给redis分配了大量的内存 这往往会伴随一个潜在的风险点:Redis 释放的内存空间可能并不是连续的,那么,这些不连续的内存空间很有可能处于一种闲置的状态.这就会导致一个问题:虽然有空闲空间,Redis 却无法用来保存数据,不仅会减少 Redis 能够实际

随机推荐