天天看點

Redis開發與運維讀書筆記-終章-Redis配置相關

本章對Redis的系統狀态資訊(info指令結果)和Redis的所有配置 (包括Standalone、Sentinel、Cluster三種模式)做一個全面的梳理,協助大家分析和解決日常開發和運維中遇到的問題

主要内容如下:

·info系統狀态說明。

·Standalone配置說明。

·Sentinel配置說明。

·Cluster配置說明。

一.info系統狀态說明

1 指令說明

info指令的使用方法有以下三種:

·info:部分Redis系統狀态統計資訊。

·info all:全部Redis系統狀态統計資訊。

·info section:某一塊的系統狀态統計資訊,其中section可以忽略大小寫。

例如,隻對Redis的記憶體相關統計比較感興趣,可以執行info memory, 此時section=memory,下面是info memory的結果:

127.0.0.1:6379> info memory 
# Memory 
used_memory:5209229784 
used_memory_human:4.85G 
used_memory_rss:6255316992 
used_memory_peak:5828761544 
used_memory_peak_human:5.43G 
used_memory_lua:36864 
mem_fragmentation_ratio:1.20 
mem_allocator:jemalloc-3.6.0
           

在運維的時候發現用戶端有些異常,可以執行info clients,如以下資訊反映了輸出緩沖區存在溢出的情況:

127.0.0.1:6379> info clients 
# Clients 
connected_clients:225 
client_longest_output_list:245639 
client_biggest_input_buf:0 
blocked_clients:0
           

info all指令包含Redis最全的系統狀态資訊,下表是info all指令涉及的所有section,其中每個子產品名就是我們上面提到的section,例如info Server 是檢視Redis服務的基本資訊。

info指令所有的section

子產品名 子產品含義
Server 伺服器資訊
Clients 用戶端資訊
Memory 記憶體資訊
Persistence 持久化資訊
Stats 全局統計資訊
Replication 複制資訊
CPU CPU消耗資訊
Commandstats 指令統計資訊
Cluster 叢集資訊
Keyspace 資料庫鍵統計資訊

2 詳細說明

下面對每個子產品進行詳細說明,為了更加友善解釋,直接結合線 上一個運作的Redis執行個體進行說明。

1.Server

下表是info Server子產品的統計資訊,包含了Redis服務本身的一些資訊,例如版本号、運作模式、作業系統的版本、TCP端口等。

Redis開發與運維讀書筆記-終章-Redis配置相關

 info Server子產品統計資訊

2.Clients

下表是info Clients子產品的統計資訊,包含了連接配接數、阻塞指令連接配接數、輸入輸出緩沖區等相關統計資訊。

Redis開發與運維讀書筆記-終章-Redis配置相關

info Clients子產品統計資訊

3.Memory

下表是info Memory子產品的統計資訊,包含了Redis記憶體使用、系統記憶體使用、碎片率、記憶體配置設定器等相關統計資訊。

Redis開發與運維讀書筆記-終章-Redis配置相關

 info Memory子產品統計資訊

4.Persistence

下表是info Persistence子產品的統計資訊,包含了RDB和AOF兩種持久化的一些統計資訊。

Redis開發與運維讀書筆記-終章-Redis配置相關

info Persistence子產品統計資訊

5.Stats

下表是info Stats子產品的統計資訊,是Redis的基礎統計資訊,包含了:連接配接、指令、網絡、過期、同步等很多統計資訊。

Redis開發與運維讀書筆記-終章-Redis配置相關

info Stats子產品統計資訊

6.Replication

下表是info Replication子產品的統計資訊,包含了Redis主從複制的一些統計資訊,根據主從節點,統計資訊也略有不同

Redis開發與運維讀書筆記-終章-Redis配置相關
Redis開發與運維讀書筆記-終章-Redis配置相關

info Replication子產品統計資訊

7.CPU

下表是info CPU子產品的統計資訊,包含了Redis程序和子程序對于CPU消耗的一些統計資訊。

Redis開發與運維讀書筆記-終章-Redis配置相關

info CPU子產品統計資訊

8.Commandstats

下表是info Commandstats子產品的統計資訊,是Redis指令統計資訊,包含各個指令的指令名、總次數、總耗時、平均耗時。

Redis開發與運維讀書筆記-終章-Redis配置相關

 info Commandstats子產品統計資訊

9.Cluster

下表是info Cluster子產品的統計資訊,目前隻有一個統計資訊,辨別目前Redis是否為Cluster模式。

Redis開發與運維讀書筆記-終章-Redis配置相關

info Cluster子產品統計資訊

10.Keyspace

下表是info Keyspace子產品的統計資訊,包含了每個資料庫的鍵值統計資訊。

Redis開發與運維讀書筆記-終章-Redis配置相關

info Keyspace子產品統計資訊

關于這部分指令統計的内容在redis官網有詳細的說明,大家可以前往檢視https://redis.io/commands/info 包括指令傳回值及其含義

Redis開發與運維讀書筆記-終章-Redis配置相關

二.standalone配置說明和分析

相對于很多大型存儲系統,Redis的配置不是很多,到了Redis3.0之後有 60多個,雖然還是不多,但是每個配置都有很重要的作用和意義,下面對Redis單機模式下的所有配置進行說明:

1 總體配置

下表是Redis的一些總體配置,例如端口、日志、資料庫等。

Redis開發與運維讀書筆記-終章-Redis配置相關

總體配置

2 最大記憶體及政策

下表是Redis記憶體相關配置

Redis開發與運維讀書筆記-終章-Redis配置相關

記憶體相關配置

3 AOF相關配置

下表是AOF方式持久化相關配置

Redis開發與運維讀書筆記-終章-Redis配置相關

 AOF相關配置

4 RDB相關配置

下表是RDB方式持久化相關配置

Redis開發與運維讀書筆記-終章-Redis配置相關

RDB相關配置

5 慢查詢配置

下表是Redis慢查詢相關配置

Redis開發與運維讀書筆記-終章-Redis配置相關

慢查詢相關配置

6 資料結構優化配置

下表是Redis資料結構優化的相關配置

Redis開發與運維讀書筆記-終章-Redis配置相關

 資料結構優化相關配置

7 複制相關配置

下表是Redis複制相關的配置

Redis開發與運維讀書筆記-終章-Redis配置相關

複制相關配置

8 用戶端相關配置

下表是Redis用戶端的相關配置

Redis開發與運維讀書筆記-終章-Redis配置相關

用戶端相關配置

9 安全相關配置

下表是Redis安全的相關配置

Redis開發與運維讀書筆記-終章-Redis配置相關

安全相關配置

三.Sentinel配置說明和分析

Sentinel節點是特殊的Redis節點,有幾個特殊的配置,如下表所示:

Redis開發與運維讀書筆記-終章-Redis配置相關

 Redis Sentinel節點配置說明

四.Cluster配置說明和分析

Cluster節點是特殊的Redis節點,有幾個特殊的配置,如下表所示:

Redis開發與運維讀書筆記-終章-Redis配置相關

Redis Cluster配置說明

以上二/三/四部分的配置redis的配置檔案redis.conf裡面都有,官方也提供了不同版本redis對應的配置檔案,大家可以前往檢視,對照明确每個配置的含義即可.https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf(該位址為redis4.0配置檔案的位址,比較卡,可能出現登不上的情況,也可直接下載下傳redis對應的版本内含有該配置檔案)

繼續閱讀