iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Redis中如何使用info命令
  • 877
分享到

Redis中如何使用info命令

2024-04-02 19:04:59 877人浏览 八月长安
摘要

这篇文章主要介绍Redis中如何使用info命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Redis是一个使用ANSI C编写的开源、基于内存、可选持久性的键值对存储数据库,被广

这篇文章主要介绍Redis中如何使用info命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Redis是一个使用ANSI C编写的开源、基于内存、可选持久性的键值对存储数据库,被广泛应用于大型电商网站、视频网站和游戏应用等场景,能够有效减少数据库磁盘io,提高数据查询效率,减轻管理维护工作量,降低数据库存储成本。对传统磁盘数据库是一个重要的补充,成为了互联网应用,尤其是支持高并发访问的互联网应用必不可少的基础服务之一。它的主要优势有以下几方面:

  ● 首先性能极高,正因为是内存型数据库,读写操作全在内存进行,因此Redis读写的速度能到10万ops。

  ● Redis相对于其它内存数据库,还提供丰富的数据接口:如字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 等,设置包括bitmaps,hyperloglogs 和 地理空间(geo)操作查询。这也许是大多数开发者相对于其它内存数据库选择Redis一个重要原因。

  ● 虽然是内存型数据库,但它也提供持久化功能。Redis目前在DB-Engines Ranking(https://db-engines.com/en/ranking)排名第7,几乎所有的公有云平台都提供了Redis服务。虽然Redis性能高,但我们平时在使用Redis的过程中,也应该关注其运行时的状态,根据这些信息,我们一方面可以优化使用Redis的方法,另一方面当应用程序出现超时、响应极慢的情况时,可以进行分析。

  到这里,就必须要说到Redis提供的一个非常有用的查看状态信息的命令:info,使用redis-cli连上redis,输入info all命令,redis-server就会返回Redis的状态信息,详细内容如下:

Redis中如何使用info命令

  其中memory,stats,clients,keyspace是Redis运行时经常要关注的信息,能够有效帮我们本文重点对这四栏中我们需要详细了解的信息。

  一、深度剖析Redis最重要的memory

  对于Redis来说,内存是最重要的资源,所以本文首先介绍Redis内存状态信息怎么查看,也就是memory这一栏:

  ● used_memory:Redis分配器分配的内存量,也就是实际存储数据的内存总量。

  ● used_memory_human:以可读格式显示used_memory。

  ● used_memory_rss:以操作系统的角度,显示Redis进程占用的总物理内存。

  ● used_memory_rss_human:以可读格式显示used_memory_rss

  ● mem_fragmentation_ratio:used_memory_rss /used_memory比值,表示内存碎片率。

  其中used_memory反映了当前Redis存储数据的内存使用情况,当内存使用率达到Redis设置的maxmemory时,Redis就会根据设置内存数据逐出策略,以不同的方式移除存储在内存中的数据。比如,如果设置的策略为noeviction,那么Redis会直接返回错误提示。

  mem_fragmentation_ratio表示的内存碎片率,理解这一指标,对优化Redis实例的资源性能是非常重要的。内存碎片率稍大于1是比较合理的范围,此时内存碎片率还比较低,同时也说明Redis没有发生swap。但如果内存碎片率的值超过了1.5,那就说明Redis消耗了实际需要物理内存的150%,其中有50%是内存碎片率,可以直接判定为Redis内存碎片过大。

  内存碎片率是不是越低就越好呢?答案是否定的。当内存碎片率低于1时,说明Redis内存分配超出了物理内存,操作系统正在进行swap,Redis可能会把部分数据交换到硬盘上。swap会严重影响Redis的性能,造成极大的延迟。

  二、stats帮你全面理解Redis状态

  stats可以统计Redis的基础信息,比如Redis的连接数、命令、网络、同步状态等非常重要的信息。下面介绍以下几个比较重要的信息:

  ● total_connections_received:连接过的客户端总数。

  ● total_commands_processed:处理过的命令总数。

  ● instantaneous_ops_per_sec:每秒处理的命令数。

  ● keyspace_hits:keyspace命中次数。

  ● keyspace_misses:keyspace未命中次数。

  ● rejected_connections:由于maxclients限制而拒绝的连接数量。

  ● expired_keys:key过期事件的总数。

  ● evicted_keys:由于maxmemory限制,而被回收内存的key的总数。

  total_connections_received

  以及total_commands_processed反映了Redis服务器自从启动以来,所有处理过的连接数和命令数。instantaneous_ops_per_sec反应了Redis服务器的忙碌状态。当rejected_connections的值不为0时,说明应用的连接数过多,或者maxclients配置的太小。

  对于应用来说, keyspace_hits和keyspace_misses这两项指标是非常关键的。Redis对其所有的命令都设置了专门的标识属性,如“只读”,“写”或者“管理命令”之类,在 Redis源码中,查看一下redisCommand结构体中sflags成员属性字段,就可以知道这个命令是具有哪些属性。

  举例:

  比如,w表示一个写命令(如set,del命令),r表示是一个只读命令(get,hmget命令),a则表示一个管理命令(config,shutdown)。其中 keyspace_hits和keyspace_misses 都是针对具备只读属性的Redis操作命令做统计,如果info统计出来的keyspace_misses值过高,或者在过去一段时间内增长很快,那么就说明这一段时间从Redis中获取数据都没有拿到,这时也许就需要检查一下应用数据在Redis中的存放和访问情况了。

  如果key在明确的时间周期内被使用,或者旧的key将来可能不会被使用,就可以用Redis过期时间命令(expire,expireat, pexpire, pexpireat等)去设置过期时间,这样Redis就会在key过期时自动删除key,这个信息可以通过expired_keys去查看。

  当内存使用达到设置的最大阀值maxmemory时,Redis则会根据设置的key逐出策略,淘汰Redis中存储的数据,这个信息可以根据 evicted_keys查看。

  三、解读Redis连接数的意义

  clients包含了连接数,输入输出缓冲和阻塞命令连接数等情况。

  ● connected_clients:客户端连接的数量。

  ● client_longest_output_list:当前的客户端连接之中最长的输出列表。

  ● client_biggest_input_buf:当前的客户端连接之中最大的输入缓冲区。

  ● blocked_clients:由于阻塞调用(BLPOP、BRPOP、BRPOPLPUSH)而等待的客户端的数量。

  连接数其实对于Redis来说可以看做是一种有限资源,一般Redis都配置有最大连接数限制,因此了解这个对于确保应用正常连接也是相当重要的。client_longest_output_list过高则很可能说明现在Redis出现了异常,可能要结合clients list来排查客户端连接情况。使用了阻塞命令时,blocked_clients也需要重点关注。

  四、Keyspace帮你了解数据状态

  Keyspace主要提供关于每个Redis数据库的主字典的统计数据。这些统计数据包括键的数量、具有过期时间的key的数量和平均生存时间。对于每个数据库来说,keyspace栏显示的每行信息格式如下所示:

  dbX: keys=X,expires=X,avg_ttl=X

  其中,第一个X表示数据库的编号,第二个X表示键的数量,第三个X表示具有过期时间的键的数量,第四个X表示键的平均生存时间。举个例子:

  db0:keys=6,expires=0,avg_ttl=0:这就表示当前数据库0的key总数有6个,带有过期时间的key总数0个,平均存活时间为0。

  Redis Info命令的其它信息,在这里也简要介绍一下:如server栏,是会显示关于Redis服务器自身的一些信息,如版本号,操作系统,端口等。Persistence和replication则与数据库持久化和主备复制有关,cpu反映了Redis服务器CPU使用信息,commandstas是显示Redis所有命令执行的详细信息,包括命令调用次数、命令消耗的CPU时间总量、每次执行命令消耗CPU时间的平均值。Cluster主要用来反应集群特性。

以上是“Redis中如何使用info命令”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: Redis中如何使用info命令

本文链接: https://www.lsjlt.com/news/65256.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Redis中如何使用info命令
    这篇文章主要介绍Redis中如何使用info命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Redis是一个使用ANSI C编写的开源、基于内存、可选持久性的键值对存储数据库,被广...
    99+
    2024-04-02
  • Redis中INFO命令怎么用
    这篇文章主要介绍Redis中INFO命令怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! INFO [section]以一种易于解释(parse)且...
    99+
    2024-04-02
  • redis中info命令的用法是什么
    在Redis中,INFO命令用于获取关于Redis服务器的各种信息和统计数据。通过运行INFO命令,可以获取有关服务器的信息,如服务...
    99+
    2024-05-11
    redis
  • Metasploit命令info使用技巧
    Metasploit命令info使用技巧在Metasploit中,使用info命令即可查看模块详细信息。使用命令info -d,可以通过浏览器查看模块的描述信息。注意,root用户无法使用该方式进行查看。否则,将显示如下错误提示:...
    99+
    2023-06-05
  • 如何在Redis命令中使用Keys
    这篇文章给大家介绍如何在Redis命令中使用Keys,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。DEL删除指定的键值对,如果指定的key不存在,则忽略。DEL命令的时间复杂度是O(N...
    99+
    2024-04-02
  • Linux的info命令怎么使用
    这篇文章主要讲解了“Linux的info命令怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux的info命令怎么使用”吧!命令格式info [OPTION]...&n...
    99+
    2023-06-27
  • Redis中Info命令提供了什么有用的信息
    Redis中的Info命令提供了关于Redis实例的各种有用信息,包括: 服务器信息:包括Redis的版本、运行模式、进程ID等。...
    99+
    2024-05-07
    Redis
  • Redis中的Info指令有什么用
    这篇文章主要介绍了Redis中的Info指令有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Redis提供了info指令,它会返回关于...
    99+
    2024-04-02
  • linux中的info命令怎么用
    linux中的info命令怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。当我们阅读Linux系统中info格式的文档时,可以使用info命令,info页面...
    99+
    2023-06-28
  • Linux info命令有什么用
    本文小编为大家详细介绍“Linux info命令有什么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux info命令有什么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Linux常用命令info命令...
    99+
    2023-06-28
  • Linux常用命令info怎么用
    这篇文章给大家分享的是有关Linux常用命令info怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux常用命令info命令是Linux下info格式的帮助指令,阅读 info 格式的文档。命令格式in...
    99+
    2023-06-28
  • 怎么理解redis info memory命令的各项参数
    这篇文章主要讲解了“怎么理解redis info memory命令的各项参数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解redis info me...
    99+
    2024-04-02
  • CentOS系统中如何使用yum命令安装redis
    这篇文章将为大家详细讲解有关CentOS系统中如何使用yum命令安装redis,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在linux CentOS系统中使用yum命令安装redis报错:[root@l...
    99+
    2023-06-10
  • Redis中如何使用Watch命令实现乐观锁
    在Redis中使用Watch命令实现乐观锁的步骤如下: 使用MULTI命令开启事务。 使用WATCH命令监视一个或多个指定的键。 ...
    99+
    2024-05-07
    Redis
  • Linux系统中man和info命令的用法
    本篇内容介绍了“Linux系统中man和info命令的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!manUsage: man [OPT...
    99+
    2023-06-12
  • cmd命令中如何开启redis
    cmd命令中开启redis的方法:快捷键win+r,输入“cmd”打开命令行模式。切换到redis的安装目录。输入以下命令启动服务即可。redis-server.exe redis.windows.conf...
    99+
    2024-04-02
  • 如何在CentOS系统中使用yum命令安装redis
    这篇文章给大家介绍如何在CentOS系统中使用yum命令安装redis,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在linux CentOS系统中使用yum命令安装redis报错:[root@localhost&nb...
    99+
    2023-06-07
  • Redis中Scan命令的使用方法
    小编给大家分享一下Redis中Scan命令的使用方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!Redis中有一个经典的问题,在巨大的数据量的情况下,做类似于查找符合某种规则的Key的信息,...
    99+
    2024-04-02
  • Scan命令怎么在Redis 中使用
    这期内容当中小编将会给大家带来有关Scan命令怎么在Redis 中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. 概述SCAN 命令以及比较相近的 SSCAN、H...
    99+
    2024-04-02
  • Redis中的list命令怎么使用
    这篇文章主要介绍“Redis中的list命令怎么使用”,在日常操作中,相信很多人在Redis中的list命令怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis中...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作