溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis中INFO命令怎么用

發(fā)布時間:2021-11-11 14:54:04 來源:億速云 閱讀:129 作者:小新 欄目:關系型數(shù)據(jù)庫

這篇文章主要介紹Redis中INFO命令怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

INFO [section]
以一種易于解釋(parse)且易于閱讀的格式,返回關于 Redis 服務器的各種信息和統(tǒng)計數(shù)值。

通過給定可選的參數(shù) section ,可以讓命令只返回某一部分的信息:

server 部分記錄了 Redis 服務器的信息,它包含以下域:

redis_version : Redis 服務器版本
redis_git_sha1 : Git SHA1
redis_git_dirty : Git dirty flag
os : Redis 服務器的宿主操作系統(tǒng)
arch_bits : 架構(32 或 64 位)
multiplexing_api : Redis 所使用的事件處理機制
gcc_version : 編譯 Redis 時所使用的 GCC 版本
process_id : 服務器進程的 PID
run_id : Redis 服務器的隨機標識符(用于 Sentinel 和集群)
tcp_port : TCP/IP 監(jiān)聽端口
uptime_in_seconds : 自 Redis 服務器啟動以來,經過的秒數(shù)
uptime_in_days : 自 Redis 服務器啟動以來,經過的天數(shù)
lru_clock : 以分鐘為單位進行自增的時鐘,用于 LRU 管理
clients 部分記錄了已連接客戶端的信息,它包含以下域:


connected_clients : 已連接客戶端的數(shù)量(不包括通過從屬服務器連接的客戶端)
client_longest_output_list : 當前連接的客戶端當中,最長的輸出列表
client_longest_input_buf : 當前連接的客戶端當中,最大輸入緩存
blocked_clients : 正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客戶端的數(shù)量
memory 部分記錄了服務器的內存信息,它包含以下域:


used_memory : 由 Redis 分配器分配的內存總量,以字節(jié)(byte)為單位
used_memory_human : 以人類可讀的格式返回 Redis 分配的內存總量
used_memory_rss : 從操作系統(tǒng)的角度,返回 Redis 已分配的內存總量(俗稱常駐集大?。?。這個值和 top 、 ps 等命令的輸出一致。
used_memory_peak : Redis 的內存消耗峰值(以字節(jié)為單位)
used_memory_peak_human : 以人類可讀的格式返回 Redis 的內存消耗峰值
used_memory_lua : Lua 引擎所使用的內存大?。ㄒ宰止?jié)為單位)
mem_fragmentation_ratio : used_memory_rss 和 used_memory 之間的比率
mem_allocator : 在編譯時指定的, Redis 所使用的內存分配器。可以是 libc 、 jemalloc 或者 tcmalloc 。
在理想情況下, used_memory_rss 的值應該只比 used_memory 稍微高一點兒。
當 rss > used ,且兩者的值相差較大時,表示存在(內部或外部的)內存碎片。
內存碎片的比率可以通過 mem_fragmentation_ratio 的值看出。
當 used > rss 時,表示 Redis 的部分內存被操作系統(tǒng)換出到交換空間了,在這種情況下,操作可能會產生明顯的延遲。
Because Redis does not have control over how its allocations are mapped to memory pages, high used_memory_rss is often the result of a spike in memory usage.


當 Redis 釋放內存時,分配器可能會,也可能不會,將內存返還給操作系統(tǒng)。
如果 Redis 釋放了內存,卻沒有將內存返還給操作系統(tǒng),那么 used_memory 的值可能和操作系統(tǒng)顯示的 Redis 內存占用并不一致。
查看 used_memory_peak 的值可以驗證這種情況是否發(fā)生。
persistence 部分記錄了跟 RDB 持久化和 AOF 持久化有關的信息,它包含以下域:


loading : 一個標志值,記錄了服務器是否正在載入持久化文件。
rdb_changes_since_last_save : 距離最近一次成功創(chuàng)建持久化文件之后,經過了多少秒。
rdb_bgsave_in_progress : 一個標志值,記錄了服務器是否正在創(chuàng)建 RDB 文件。
rdb_last_save_time : 最近一次成功創(chuàng)建 RDB 文件的 UNIX 時間戳。
rdb_last_bgsave_status : 一個標志值,記錄了最近一次創(chuàng)建 RDB 文件的結果是成功還是失敗。
rdb_last_bgsave_time_sec : 記錄了最近一次創(chuàng)建 RDB 文件耗費的秒數(shù)。
rdb_current_bgsave_time_sec : 如果服務器正在創(chuàng)建 RDB 文件,那么這個域記錄的就是當前的創(chuàng)建操作已經耗費的秒數(shù)。
aof_enabled : 一個標志值,記錄了 AOF 是否處于打開狀態(tài)。
aof_rewrite_in_progress : 一個標志值,記錄了服務器是否正在創(chuàng)建 AOF 文件。
aof_rewrite_scheduled : 一個標志值,記錄了在 RDB 文件創(chuàng)建完畢之后,是否需要執(zhí)行預約的 AOF 重寫操作。
aof_last_rewrite_time_sec : 最近一次創(chuàng)建 AOF 文件耗費的時長。
aof_current_rewrite_time_sec : 如果服務器正在創(chuàng)建 AOF 文件,那么這個域記錄的就是當前的創(chuàng)建操作已經耗費的秒數(shù)。
aof_last_bgrewrite_status : 一個標志值,記錄了最近一次創(chuàng)建 AOF 文件的結果是成功還是失敗。
如果 AOF 持久化功能處于開啟狀態(tài),那么這個部分還會加上以下域:


aof_current_size : AOF 文件目前的大小。
aof_base_size : 服務器啟動時或者 AOF 重寫最近一次執(zhí)行之后,AOF 文件的大小。
aof_pending_rewrite : 一個標志值,記錄了是否有 AOF 重寫操作在等待 RDB 文件創(chuàng)建完畢之后執(zhí)行。
aof_buffer_length : AOF 緩沖區(qū)的大小。
aof_rewrite_buffer_length : AOF 重寫緩沖區(qū)的大小。
aof_pending_bio_fsync : 后臺 I/O 隊列里面,等待執(zhí)行的 fsync 調用數(shù)量。
aof_delayed_fsync : 被延遲的 fsync 調用數(shù)量。
stats 部分記錄了一般統(tǒng)計信息,它包含以下域:


total_connections_received : 服務器已接受的連接請求數(shù)量。
total_commands_processed : 服務器已執(zhí)行的命令數(shù)量。
instantaneous_ops_per_sec : 服務器每秒鐘執(zhí)行的命令數(shù)量。
rejected_connections : 因為最大客戶端數(shù)量限制而被拒絕的連接請求數(shù)量。
expired_keys : 因為過期而被自動刪除的數(shù)據(jù)庫鍵數(shù)量。
evicted_keys : 因為最大內存容量限制而被驅逐(evict)的鍵數(shù)量。
keyspace_hits : 查找數(shù)據(jù)庫鍵成功的次數(shù)。
keyspace_misses : 查找數(shù)據(jù)庫鍵失敗的次數(shù)。
pubsub_channels : 目前被訂閱的頻道數(shù)量。
pubsub_patterns : 目前被訂閱的模式數(shù)量。
latest_fork_usec : 最近一次 fork() 操作耗費的毫秒數(shù)。
replication : 主/從復制信息


role : 如果當前服務器沒有在復制任何其他服務器,那么這個域的值就是 master ;否則的話,這個域的值就是 slave 。注意,在創(chuàng)建復制鏈的時候,一個從服務器也可能是另一個服務器的主服務器。
如果當前服務器是一個從服務器的話,那么這個部分還會加上以下域:


master_host : 主服務器的 IP 地址。
master_port : 主服務器的 TCP 監(jiān)聽端口號。
master_link_status : 復制連接當前的狀態(tài), up 表示連接正常, down 表示連接斷開。
master_last_io_seconds_ago : 距離最近一次與主服務器進行通信已經過去了多少秒鐘。
master_sync_in_progress : 一個標志值,記錄了主服務器是否正在與這個從服務器進行同步。
如果同步操作正在進行,那么這個部分還會加上以下域:


master_sync_left_bytes : 距離同步完成還缺少多少字節(jié)數(shù)據(jù)。
master_sync_last_io_seconds_ago : 距離最近一次因為 SYNC 操作而進行 I/O 已經過去了多少秒。
如果主從服務器之間的連接處于斷線狀態(tài),那么這個部分還會加上以下域:


master_link_down_since_seconds : 主從服務器連接斷開了多少秒。
以下是一些總會出現(xiàn)的域:


connected_slaves : 已連接的從服務器數(shù)量。
對于每個從服務器,都會添加以下一行信息:


slaveXXX : ID、IP 地址、端口號、連接狀態(tài)
cpu 部分記錄了 CPU 的計算量統(tǒng)計信息,它包含以下域:


used_cpu_sys : Redis 服務器耗費的系統(tǒng) CPU 。
used_cpu_user : Redis 服務器耗費的用戶 CPU 。
used_cpu_sys_children : 后臺進程耗費的系統(tǒng) CPU 。
used_cpu_user_children : 后臺進程耗費的用戶 CPU 。
commandstats 部分記錄了各種不同類型的命令的執(zhí)行統(tǒng)計信息,比如命令執(zhí)行的次數(shù)、命令耗費的 CPU 時間、執(zhí)行每個命令耗費的平均 CPU 時間等等。對于每種類型的命令,這個部分都會添加一行以下格式的信息:


cmdstat_XXX:calls=XXX,usec=XXX,usecpercall=XXX
cluster 部分記錄了和集群有關的信息,它包含以下域:


cluster_enabled : 一個標志值,記錄集群功能是否已經開啟。
keyspace 部分記錄了數(shù)據(jù)庫相關的統(tǒng)計信息,比如數(shù)據(jù)庫的鍵數(shù)量、數(shù)據(jù)庫已經被刪除的過期鍵數(shù)量等。對于每個數(shù)據(jù)庫,這個部分都會添加一行以下格式的信息:


dbXXX:keys=XXX,expires=XXX
除上面給出的這些值以外, section 參數(shù)的值還可以是下面這兩個:


all : 返回所有信息
default : 返回默認選擇的信息
當不帶參數(shù)直接調用 INFO 命令時,使用 default 作為默認參數(shù)。


不同版本的 Redis 可能對返回的一些域進行了增加或刪減。
因此,一個健壯的客戶端程序在對 INFO 命令的輸出進行分析時,應該能夠跳過不認識的域,并且妥善地處理丟失不見的域。

以上是“Redis中INFO命令怎么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI