redis info命令介紹

redis info命令介紹

redis info命令以一種易于解釋(parse)且易于閱讀的格式,返回關于 redis 服務器的各種信息和統計數值。

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

1、server?: 一般 Redis 服務器信息,包含以下域:

redis_version : Redis 服務器版本redis_git_sha1 : Git SHA1redis_git_dirty : Git dirty flagos : Redis 服務器的宿主操作系統arch_bits : 架構(32 或 64 位)multiplexing_api : Redis 所使用的事件處理機制gcc_version : 編譯 Redis 時所使用的 GCC 版本process_id : 服務器進程的 PIDrun_id : Redis 服務器的隨機標識符(用于 Sentinel 和集群)tcp_port : TCP/IP 監聽端口uptime_in_seconds : 自 Redis 服務器啟動以來,經過的秒數uptime_in_days : 自 Redis 服務器啟動以來,經過的天數lru_clock : 以分鐘為單位進行自增的時鐘,用于 LRU 管理

2、clients?: 已連接客戶端信息,包含以下域:

connected_clients : 已連接客戶端的數量(不包括通過從屬服務器連接的客戶端)

client_longest_output_list : 當前連接的客戶端當中,最長的輸出列表

client_longest_input_buf : 當前連接的客戶端當中,最大輸入緩存

blocked_clients : 正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客戶端的數量

3、memory?: 內存信息,包含以下域:

used_memory : 由 Redis 分配器分配的內存總量,以字節(byte)為單位

used_memory_human : 以人類可讀的格式返回 Redis 分配的內存總量

used_memory_rss : 從操作系統的角度,返回 Redis 已分配的內存總量(俗稱常駐集大小)。這個值和 top 、 ps等命令的輸出一致。

used_memory_peak : Redis 的內存消耗峰值(以字節為單位)

used_memory_peak_human : 以人類可讀的格式返回 Redis 的內存消耗峰值

used_memory_lua : Lua 引擎所使用的內存大小(以字節為單位)

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 的部分內存被操作系統換出到交換空間了,在這種情況下,操作可能會產生明顯的延遲。

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 釋放內存時,分配器可能會,也可能不會,將內存返還給操作系統。

如果 Redis 釋放了內存,卻沒有將內存返還給操作系統,那么?used_memory?的值可能和操作系統顯示的 Redis 內存占用并不一致。

查看?used_memory_peak?的值可以驗證這種情況是否發生。

4、persistence?:?RDB?和?AOF?的相關信息

5、stats?: 一般統計信息

6、replication?: 主/從復制信息

7、cpu?: CPU 計算量統計信息

8、commandstats?: Redis 命令統計信息

9、cluster?: Redis 集群信息

10、keyspace?:?數據庫相關的統計信息

除上面給出的這些值以外,參數還可以是下面這兩個:

11、all?: 返回所有信息

12、default?: 返回默認選擇的信息

當不帶參數直接調用 INFO 命令時,使用 default 作為默認參數。

不同版本的 Redis 可能對返回的一些域進行了增加或刪減。

因此,一個健壯的客戶端程序在對 INFO 命令的輸出進行分析時,應該能夠跳過不認識的域,并且妥善地處理丟失不見的域。

可用版本:

>= 1.0.0

時間復雜度:

O(1)

返回值:

具體請參見下面的測試代碼:

redis>?INFO #?Server redis_version:2.5.9 redis_git_sha1:473f3090 redis_git_dirty:0 os:Linux?3.3.7-1-ARCH?i686 arch_bits:32 multiplexing_api:epoll gcc_version:4.7.0 process_id:8104 run_id:bc9e20c6f0aac67d0d396ab950940ae4d1479ad1 tcp_port:6379 uptime_in_seconds:7 uptime_in_days:0 lru_clock:1680564  #?Clients connected_clients:1 client_longest_output_list:0 client_biggest_input_buf:0 blocked_clients:0  #?Memory used_memory:439304 used_memory_human:429.01K used_memory_rss:13897728 used_memory_peak:401776 used_memory_peak_human:392.36K used_memory_lua:20480 mem_fragmentation_ratio:31.64 mem_allocator:jemalloc-3.0.0  #?Persistence loading:0 rdb_changes_since_last_save:0 rdb_bgsave_in_progress:0 rdb_last_save_time:1338011402 rdb_last_bgsave_status:ok rdb_last_bgsave_time_sec:-1 rdb_current_bgsave_time_sec:-1 aof_enabled:0 aof_rewrite_in_progress:0 aof_rewrite_scheduled:0 aof_last_rewrite_time_sec:-1 aof_current_rewrite_time_sec:-1  #?Stats total_connections_received:1 total_commands_processed:0 instantaneous_ops_per_sec:0 rejected_connections:0 expired_keys:0 evicted_keys:0 keyspace_hits:0 keyspace_misses:0 pubsub_channels:0 pubsub_patterns:0 latest_fork_usec:0  #?Replication role:master connected_slaves:0  #?CPU used_cpu_sys:0.03 used_cpu_user:0.01 used_cpu_sys_children:0.00 used_cpu_user_children:0.00

更多redis知識請關注redis入門教程欄目。

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享