1.Redis文件目錄
(1)全局搜索配置文件 redis.conf 所在目錄,和Redis相關的參數配置都在此目錄下設置。
[root@bigdata1 ~]# find / -name redis.conf
(2)命令所在目錄
在Redis安裝目錄下的bin目錄,例如:/opt/redis-5.0.7/bin
2.Redis配置字段解析
[root@bigdata1 config]# cat redis.conf
1 #是否在后台執行,yes:后台運行;no:不是后台運行 2 daemonize yes 3
4 #是否開啟保護模式,默認開啟。要是配置里沒有指定bind和密碼。開啟該參數后,redis只會本地進行訪問,拒絕外部訪問。 5 protected-mode yes 6
7 #redis的進程文件 8 pidfile /var/run/redis/redis-server.pid 9
10 #redis監聽的端口號。 11 port 6379
12
13 #此參數確定了TCP連接中已完成隊列(完成三次握手之后)的長度, 當然此值必須不大於Linux系統定義的/proc/sys/net/core/somaxconn值,默認是511,而Linux的默認參數值是128。當系統並發量大並且客戶端速度緩慢的時候,可以將這二個參數一起參考設定。該內核參數默認值一般是128,對於負載很大的服務程序來說大大的不夠。一般會將它修改為2048或者更大。在/etc/sysctl.conf中添加:net.core.somaxconn = 2048,然后在終端中執行sysctl -p。 14 tcp-backlog 511
15
16 #指定 redis 只接收來自於該 IP 地址的請求,如果不進行設置,那么將處理所有請求 17 #bind 127.0.0.1
18 bind 0.0.0.0
19
20 #配置unix socket來讓redis支持監聽本地連接。 21 # unixsocket /var/run/redis/redis.sock 22
23 #配置unix socket使用文件的權限 24 # unixsocketperm 700
25
26 # 此參數為設置客戶端空閑超過timeout,服務端會斷開連接,為0則服務端不會主動斷開連接,不能小於0。 27 timeout 0
28
29 #tcp keepalive參數。如果設置不為0,就使用配置tcp的SO_KEEPALIVE值,使用keepalive有兩個好處:檢測掛掉的對端。降低中間設備出問題而導致網絡看似連接卻已經與對端端口的問題。在Linux內核中,設置了keepalive,redis會定時給對端發送ack。檢測到對端關閉需要兩倍的設置值。 30 tcp-keepalive 0
31
32 #指定了服務端日志的級別。級別包括:debug(很多信息,方便開發、測試),verbose(許多有用的信息,但是沒有debug級別信息多),notice(適當的日志級別,適合生產環境),warn(只有非常重要的信息) 33 loglevel notice 34
35 #指定了記錄日志的文件。空字符串的話,日志會打印到標准輸出設備。后台運行的redis標准輸出是/dev/null。 36 logfile /var/log/redis/redis-server.log 37
38 #是否打開記錄syslog功能 39 # syslog-enabled no 40
41 #syslog的標識符。 42 # syslog-ident redis 43
44 #日志的來源、設備 45 # syslog-facility local0 46
47 #數據庫的數量,默認使用的數據庫是DB 0。可以通過SELECT命令選擇一個db 48 databases 16
49
50 # redis是基於內存的數據庫,可以通過設置該值定期寫入磁盤。 51 # 注釋掉“save”這一行配置項就可以讓保存數據庫功能失效 52 # 900秒(15分鍾)內至少1個key值改變(則進行數據庫保存--持久化) 53 # 300秒(5分鍾)內至少10個key值改變(則進行數據庫保存--持久化) 54 # 60秒(1分鍾)內至少10000個key值改變(則進行數據庫保存--持久化) 55 save 900 1
56 save 300 10
57 save 60 10000
58
59 #當RDB持久化出現錯誤后,是否依然進行繼續進行工作,yes:不能進行工作,no:可以繼續進行工作,可以通過info中的rdb_last_bgsave_status了解RDB持久化是否有錯誤 60 stop-writes-on-bgsave-error yes 61
62 #使用壓縮rdb文件,rdb文件壓縮使用LZF壓縮算法,yes:壓縮,但是需要一些cpu的消耗。no:不壓縮,需要更多的磁盤空間 63 rdbcompression yes 64
65 #是否校驗rdb文件。從rdb格式的第五個版本開始,在rdb文件的末尾會帶上CRC64的校驗和。這跟有利於文件的容錯性,但是在保存rdb文件的時候,會有大概10%的性能損耗,所以如果你追求高性能,可以關閉該配置。 66 rdbchecksum yes 67
68 #rdb文件的名稱 69 dbfilename dump.rdb 70
71 #數據目錄,數據庫的寫入會在這個目錄。rdb、aof文件也會寫在這個目錄 72 dir /var/lib/redis 73
74
75 ############### 主從復制 ############### 76
77 #復制選項,slave復制對應的master。 78 # slaveof <masterip> <masterport>
79
80 #如果master設置了requirepass,那么slave要連上master,需要有master的密碼才行。masterauth就是用來配置master的密碼,這樣可以在連上master后進行認證。 81 # masterauth <master-password>
82
83 #當從庫同主機失去連接或者復制正在進行,從機庫有兩種運行方式:1) 如果slave-serve-stale-data設置為yes(默認設置),從庫會繼續響應客戶端的請求。2) 如果slave-serve-stale-data設置為no,除去INFO和SLAVOF命令之外的任何請求都會返回一個錯誤”SYNC with master in progress”。 84 slave-serve-stale-data yes 85
86 #作為從服務器,默認情況下是只讀的(yes),可以修改成NO,用於寫(不建議)。 87 slave-read-only yes 88
89 #是否使用socket方式復制數據。目前redis復制提供兩種方式,disk和socket。如果新的slave連上來或者重連的slave無法部分同步,就會執行全量同步,master會生成rdb文件。有2種方式:disk方式是master創建一個新的進程把rdb文件保存到磁盤,再把磁盤上的rdb文件傳遞給slave。socket是master創建一個新的進程,直接把rdb文件以socket的方式發給slave。disk方式的時候,當一個rdb保存的過程中,多個slave都能共享這個rdb文件。socket的方式就的一個個slave順序復制。在磁盤速度緩慢,網速快的情況下推薦用socket方式。 90 repl-diskless-sync no 91
92 #diskless復制的延遲時間,防止設置為0。一旦復制開始,節點不會再接收新slave的復制請求直到下一個rdb傳輸。所以最好等待一段時間,等更多的slave連上來。 93 repl-diskless-sync-delay 5
94
95 #slave根據指定的時間間隔向服務器發送ping請求。時間間隔可以通過 repl_ping_slave_period 來設置,默認10秒。 96 # repl-ping-slave-period 10
97
98 #復制連接超時時間。master和slave都有超時時間的設置。master檢測到slave上次發送的時間超過repl-timeout,即認為slave離線,清除該slave信息。slave檢測到上次和master交互的時間超過repl-timeout,則認為master離線。需要注意的是repl-timeout需要設置一個比repl-ping-slave-period更大的值,不然會經常檢測到超時。 99 # repl-timeout 60
100
101 #是否禁止復制tcp鏈接的tcp nodelay參數,可傳遞yes或者no。默認是no,即使用tcp nodelay。如果master設置了yes來禁止tcp nodelay設置,在把數據復制給slave的時候,會減少包的數量和更小的網絡帶寬。但是這也可能帶來數據的延遲。默認我們推薦更小的延遲,但是在數據量傳輸很大的場景下,建議選擇yes。 102 repl-disable-tcp-nodelay no 103
104 #復制緩沖區大小,這是一個環形復制緩沖區,用來保存最新復制的命令。這樣在slave離線的時候,不需要完全復制master的數據,如果可以執行部分同步,只需要把緩沖區的部分數據復制給slave,就能恢復正常復制狀態。緩沖區的大小越大,slave離線的時間可以更長,復制緩沖區只有在有slave連接的時候才分配內存。沒有slave的一段時間,內存會被釋放出來,默認1m。 105 # repl-backlog-size 5mb 106
107 #master沒有slave一段時間會釋放復制緩沖區的內存,repl-backlog-ttl用來設置該時間長度。單位為秒。 108 # repl-backlog-ttl 3600
109
110 #當master不可用,Sentinel會根據slave的優先級選舉一個master。最低的優先級的slave,當選master。而配置成0,永遠不會被選舉。 111 slave-priority 100
112
113 #redis提供了可以讓master停止寫入的方式,如果配置了min-slaves-to-write,健康的slave的個數小於N,mater就禁止寫入。master最少得有多少個健康的slave存活才能執行寫命令。這個配置雖然不能保證N個slave都一定能接收到master的寫操作,但是能避免沒有足夠健康的slave的時候,master不能寫入來避免數據丟失。設置為0是關閉該功能。 114 # min-slaves-to-write 3
115
116 #延遲小於min-slaves-max-lag秒的slave才認為是健康的slave。 117 # min-slaves-max-lag 10
118
119 # 設置1或另一個設置為0禁用這個特性。 120 # Setting one or the other to 0 disables the feature. 121 # By default min-slaves-to-write is set to 0 (feature disabled) and 122 # min-slaves-max-lag is set to 10. 123
124
125 ############### 安全相關 ############### 126
127 #requirepass配置可以讓用戶使用AUTH命令來認證密碼,才能使用其他命令。這讓redis可以使用在不受信任的網絡中。為了保持向后的兼容性,可以注釋該命令,因為大部分用戶也不需要認證。使用requirepass的時候需要注意,因為redis太快了,每秒可以認證15w次密碼,簡單的密碼很容易被攻破,所以最好使用一個更復雜的密碼。注意只有密碼沒有用戶名。 128 # requirepass foobared 129
130 #把危險的命令給修改成其他名稱。比如CONFIG命令可以重命名為一個很難被猜到的命令,這樣用戶不能使用,而內部工具還能接着使用。 131 # rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 132
133 #設置成一個空的值,可以禁止一個命令 134 # rename-command CONFIG ""
135
136
137 ############### 進程限制相關 ############### 138
139 # 設置能連上redis的最大客戶端連接數量。默認是10000個客戶端連接。由於redis不區分連接是客戶端連接還是內部打開文件或者和slave連接等,所以maxclients最小建議設置到32。如果超過了maxclients,redis會給新的連接發送’max number of clients reached’,並關閉連接。 140 # maxclients 10000
141
142 #redis配置的最大內存容量。當內存滿了,需要配合maxmemory-policy策略進行處理。注意slave的輸出緩沖區是不計算在maxmemory內的。所以為了防止主機內存使用完,建議設置的maxmemory需要更小一些。 143 # maxmemory <bytes>
144
145 #內存容量超過maxmemory后的處理策略。 146 #volatile-lru:利用LRU算法移除設置過過期時間的key。 147 #volatile-random:隨機移除設置過過期時間的key。 148 #volatile-ttl:移除即將過期的key,根據最近過期時間來刪除(輔以TTL) 149 #allkeys-lru:利用LRU算法移除任何key。 150 #allkeys-random:隨機移除任何key。 151 #noeviction:不移除任何key,只是返回一個寫錯誤。 152 #上面的這些驅逐策略,如果redis沒有合適的key驅逐,對於寫命令,還是會返回錯誤。redis將不再接收寫請求,只接收get請求。寫命令包括:set setnx setex append incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby getset mset msetnx exec sort。 153 # maxmemory-policy noeviction 154
155 #lru檢測的樣本數。使用lru或者ttl淘汰算法,從需要淘汰的列表中隨機選擇sample個key,選出閑置時間最長的key移除。 156 # maxmemory-samples 5
157
158
159 ############### APPEND ONLY 持久化方式 ############### 160
161 #默認redis使用的是rdb方式持久化,這種方式在許多應用中已經足夠用了。但是redis如果中途宕機,會導致可能有幾分鍾的數據丟失,根據save來策略進行持久化,Append Only File是另一種持久化方式,可以提供更好的持久化特性。Redis會把每次寫入的數據在接收后都寫入 appendonly.aof 文件,每次啟動時Redis都會先把這個文件的數據讀入內存里,先忽略RDB文件。 162 appendonly no 163
164 #aof文件名 165 appendfilename "appendonly.aof"
166
167 #aof持久化策略的配置 168 #no表示不執行fsync,由操作系統保證數據同步到磁盤,速度最快。 169 #always表示每次寫入都執行fsync,以保證數據同步到磁盤。 170 #everysec表示每秒執行一次fsync,可能會導致丟失這1s數據。 171 appendfsync everysec 172
173 # 在aof重寫或者寫入rdb文件的時候,會執行大量IO,此時對於everysec和always的aof模式來說,執行fsync會造成阻塞過長時間,no-appendfsync-on-rewrite字段設置為默認設置為no。如果對延遲要求很高的應用,這個字段可以設置為yes,否則還是設置為no,這樣對持久化特性來說這是更安全的選擇。設置為yes表示rewrite期間對新寫操作不fsync,暫時存在內存中,等rewrite完成后再寫入,默認為no,建議yes。Linux的默認fsync策略是30秒。可能丟失30秒數據。 174 no-appendfsync-on-rewrite no 175
176 #aof自動重寫配置。當目前aof文件大小超過上一次重寫的aof文件大小的百分之多少進行重寫,即當aof文件增長到一定大小的時候Redis能夠調用bgrewriteaof對日志文件進行重寫。當前AOF文件大小是上次日志重寫得到AOF文件大小的二倍(設置為100)時,自動啟動新的日志重寫過程。 177 auto-aof-rewrite-percentage 100
178 #設置允許重寫的最小aof文件大小,避免了達到約定百分比但尺寸仍然很小的情況還要重寫 179 auto-aof-rewrite-min-size 64mb 180
181 #aof文件可能在尾部是不完整的,當redis啟動的時候,aof文件的數據被載入內存。重啟可能發生在redis所在的主機操作系統宕機后,尤其在ext4文件系統沒有加上data=ordered選項(redis宕機或者異常終止不會造成尾部不完整現象。)出現這種現象,可以選擇讓redis退出,或者導入盡可能多的數據。如果選擇的是yes,當截斷的aof文件被導入的時候,會自動發布一個log給客戶端然后load。如果是no,用戶必須手動redis-check-aof修復AOF文件才可以。 182 aof-load-truncated yes 183
184
185 ############### LUA SCRIPTING ############### 186
187 # 如果達到最大時間限制(毫秒),redis會記個log,然后返回error。當一個腳本超過了最大時限。只有SCRIPT KILL和SHUTDOWN NOSAVE可以用。第一個可以殺沒有調write命令的東西。要是已經調用了write,只能用第二個命令殺。 188 lua-time-limit 5000
189
190
191 ############### 集群相關 ############### 192
193 #集群開關,默認是不開啟集群模式。 194 # cluster-enabled yes 195
196 #集群配置文件的名稱,每個節點都有一個集群相關的配置文件,持久化保存集群的信息。這個文件並不需要手動配置,這個配置文件有Redis生成並更新,每個Redis集群節點需要一個單獨的配置文件,請確保與實例運行的系統中配置文件名稱不沖突 197 # cluster-config-file nodes-6379.conf 198
199 #節點互連超時的閥值。集群節點超時毫秒數 200 # cluster-node-timeout 15000
201
202 #在進行故障轉移的時候,全部slave都會請求申請為master,但是有些slave可能與master斷開連接一段時間了,導致數據過於陳舊,這樣的slave不應該被提升為master。該參數就是用來判斷slave節點與master斷線的時間是否過長。判斷方法是: 203 #比較slave斷開連接的時間和(node-timeout * slave-validity-factor) + repl-ping-slave-period 204 #如果節點超時時間為三十秒, 並且slave-validity-factor為10,假設默認的repl-ping-slave-period是10秒,即如果超過310秒slave將不會嘗試進行故障轉移 205 # cluster-slave-validity-factor 10
206
207 #master的slave數量大於該值,slave才能遷移到其他孤立master上,如這個參數若被設為2,那么只有當一個主節點擁有2 個可工作的從節點時,它的一個從節點會嘗試遷移。 208 # cluster-migration-barrier 1
209
210 #默認情況下,集群全部的slot有節點負責,集群狀態才為ok,才能提供服務。設置為no,可以在slot沒有全部分配的時候提供服務。不建議打開該配置,這樣會造成分區的時候,小分區的master一直在接受寫請求,而造成很長時間數據不一致。 211 # cluster-require-full-coverage yes 212
213
214 ############### SLOW LOG 慢查詢日志 ############### 215
216 ###slog log是用來記錄redis運行中執行比較慢的命令耗時。當命令的執行超過了指定時間,就記錄在slow log中,slog log保存在內存中,所以沒有IO操作。 217 #執行時間比slowlog-log-slower-than大的請求記錄到slowlog里面,單位是微秒,所以1000000就是1秒。注意,負數時間會禁用慢查詢日志,而0則會強制記錄所有命令。 218 slowlog-log-slower-than 10000
219
220 #慢查詢日志長度。當一個新的命令被寫進日志的時候,最老的那個記錄會被刪掉。這個長度沒有限制。只要有足夠的內存就行。你可以通過 SLOWLOG RESET 來釋放內存。 221 slowlog-max-len 128
222
223 ############### 延遲監控 ############### 224 #延遲監控功能是用來監控redis中執行比較緩慢的一些操作,用LATENCY打印redis實例在跑命令時的耗時圖表。只記錄大於等於下邊設置的值的操作。0的話,就是關閉監視。默認延遲監控功能是關閉的,如果你需要打開,也可以通過CONFIG SET命令動態設置。 225 latency-monitor-threshold 0
226
227 ############### EVENT NOTIFICATION 訂閱通知 ############### 228 #鍵空間通知使得客戶端可以通過訂閱頻道或模式,來接收那些以某種方式改動了 Redis 數據集的事件。因為開啟鍵空間通知功能需要消耗一些 CPU ,所以在默認配置下,該功能處於關閉狀態。 229 #notify-keyspace-events 的參數可以是以下字符的任意組合,它指定了服務器該發送哪些類型的通知: 230 ##K 鍵空間通知,所有通知以 __keyspace@__ 為前綴 231 ##E 鍵事件通知,所有通知以 __keyevent@__ 為前綴 232 ##g DEL 、 EXPIRE 、 RENAME 等類型無關的通用命令的通知 233 ##$ 字符串命令的通知 234 ##l 列表命令的通知 235 ##s 集合命令的通知 236 ##h 哈希命令的通知 237 ##z 有序集合命令的通知 238 ##x 過期事件:每當有過期鍵被刪除時發送 239 ##e 驅逐(evict)事件:每當有鍵因為 maxmemory 政策而被刪除時發送 240 ##A 參數 g$lshzxe 的別名 241 #輸入的參數中至少要有一個 K 或者 E,否則的話,不管其余的參數是什么,都不會有任何 通知被分發。詳細使用可以參考http://redis.io/topics/notifications
243 notify-keyspace-events ""
244
245 ############### ADVANCED CONFIG 高級配置 ############### 246 #數據量小於等於hash-max-ziplist-entries的用ziplist,大於hash-max-ziplist-entries用hash 247 hash-max-ziplist-entries 512
248 #value大小小於等於hash-max-ziplist-value的用ziplist,大於hash-max-ziplist-value用hash。 249 hash-max-ziplist-value 64
250
251 #數據量小於等於list-max-ziplist-entries用ziplist,大於list-max-ziplist-entries用list。 252 list-max-ziplist-entries 512
253 #value大小小於等於list-max-ziplist-value的用ziplist,大於list-max-ziplist-value用list。 254 list-max-ziplist-value 64
255
256 #數據量小於等於set-max-intset-entries用iniset,大於set-max-intset-entries用set。 257 set-max-intset-entries 512
258
259 #數據量小於等於zset-max-ziplist-entries用ziplist,大於zset-max-ziplist-entries用zset。 260 zset-max-ziplist-entries 128
261 #value大小小於等於zset-max-ziplist-value用ziplist,大於zset-max-ziplist-value用zset。 262 zset-max-ziplist-value 64
263
264 #value大小小於等於hll-sparse-max-bytes使用稀疏數據結構(sparse),大於hll-sparse-max-bytes使用稠密的數據結構(dense)。一個比16000大的value是幾乎沒用的,建議的value大概為3000。如果對CPU要求不高,對空間要求較高的,建議設置到10000左右。 265 hll-sparse-max-bytes 3000
266
267 #Redis將在每100毫秒時使用1毫秒的CPU時間來對redis的hash表進行重新hash,可以降低內存的使用。當你的使用場景中,有非常嚴格的實時性需要,不能夠接受Redis時不時的對請求有2毫秒的延遲的話,把這項配置為no。如果沒有這么嚴格的實時性要求,可以設置為yes,以便能夠盡可能快的釋放內存。 268 activerehashing yes 269
270 ##對客戶端輸出緩沖進行限制可以強迫那些不從服務器讀取數據的客戶端斷開連接,用來強制關閉傳輸緩慢的客戶端。 271 #對於normal client,第一個0表示取消hard limit,第二個0和第三個0表示取消soft limit,normal client默認取消限制,因為如果沒有尋問,他們是不會接收數據的。 272 client-output-buffer-limit normal 0 0 0
273 #對於slave client和MONITER client,如果client-output-buffer一旦超過256mb,又或者超過64mb持續60秒,那么服務器就會立即斷開客戶端連接。 274 client-output-buffer-limit slave 256mb 64mb 60
275 #對於pubsub client,如果client-output-buffer一旦超過32mb,又或者超過8mb持續60秒,那么服務器就會立即斷開客戶端連接。 276 client-output-buffer-limit pubsub 32mb 8mb 60
277
278 #redis執行任務的頻率為1s除以hz。 279 hz 10
280
281 #在aof重寫的時候,如果打開了aof-rewrite-incremental-fsync開關,系統會每32MB執行一次fsync。這對於把文件寫入磁盤是有幫助的,可以避免過大的延遲峰值。 282 aof-rewrite-incremental-fsync yes
3.查看內存使用情況
進入Redis交互界面
[root@bigdata1 bin]# ./redis-cli 127.0.0.1:6379> AUTH [password] OK 127.0.0.1:6379> INFO
字段解析
1 # Server 2 redis_version:5.0.7
3 redis_git_sha1:00000000
4 redis_git_dirty:0
5 redis_build_id:9ffa6dd96f09423b 6 redis_mode:cluster 7 os:Linux 3.10.0-1062.el7.x86_64 x86_64 8 arch_bits:64
9 multiplexing_api:epoll 10 atomicvar_api:atomic-builtin 11 gcc_version:4.8.5
12 process_id:12030 #redis服務器的進程id
13 run_id:c32be4211a2e89412c185d7b8769938fedc59646 14 tcp_port:6379 #redis服務監聽端口
15 uptime_in_seconds:719019 #redis服務啟動時長,單位為秒
16 uptime_in_days:8 #redis服務啟動時長,單位為天
17 hz:10 #redis內部調度(進行關閉timeout的客戶端,刪除過期key等等)頻率
18 configured_hz:10
19 lru_clock:11623320
20 executable:/opt/redis-5.0.7/bin/redis-server #執行文件位置
21 config_file:/data/redis/redis6379/config/redis.conf #配置文件位置
22
23 # Clients 24 connected_clients:5 #已連接的客戶端數(不包括通過slave連接的客戶端)
25 client_recent_max_input_buffer:2
26 client_recent_max_output_buffer:0
27 blocked_clients:0 #正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客戶端的數量
28
29 # Memory 30 used_memory:217664160 #由redis分配器分配的內存總量,以字節為單位
31 used_memory_human:207.58M #易讀方式
32 used_memory_rss:258060288 #從操作系統的角度,返回redis已分配的內存總量(俗稱常駐集大小)
33 used_memory_rss_human:246.11M #易讀方式
34 used_memory_peak:526793304 #redis的內存消耗峰值(以字節為單位)
35 used_memory_peak_human:502.39M #易讀方式
36 used_memory_peak_perc:41.32% #峰值內存超出分配內存(used_memory)的百分比
37 used_memory_overhead:5144756 #服務器為管理其內部數據結構而分配的所有開銷的字節總和
38 used_memory_startup:1404744 #Redis在啟動時消耗的初始內存量(以字節為單位)
39 used_memory_dataset:212519404 #數據占用內存的大小,即used_memory-sed_memory_overhead
40 used_memory_dataset_perc:98.27% #數據占用內存的大小
百分比,即(used_memory/ used_memory_peak) *100%
41 allocator_allocated:217597568
42 allocator_active:258022400
43 allocator_resident:258022400
44 total_system_memory:33567330304 #系統內存總量
45 total_system_memory_human:31.26G #以更直觀的格式顯示整個系統內存
46 used_memory_lua:37888 #Lua腳本存儲占用的內存
47 used_memory_lua_human:37.00K #以更直觀的格式顯示Lua腳本存儲占用的內存
48 used_memory_scripts:0
49 used_memory_scripts_human:0B 50 number_of_cached_scripts:0
51 maxmemory:0 #配置設置的最大可使用內存值,如果將Redis當成數據庫使用,則不設置
52 maxmemory_human:0B #以更直觀的格式顯示Redis實例的最大內存配置
53 maxmemory_policy:noeviction #當達到maxmemory時的淘汰策略
54 allocator_frag_ratio:1.19
55 allocator_frag_bytes:40424832
56 allocator_rss_ratio:1.00
57 allocator_rss_bytes:0
58 rss_overhead_ratio:1.00
59 rss_overhead_bytes:37888
60 mem_fragmentation_ratio:1.19 #碎片率,used_memory_rss和used_memory之間的比率
61 mem_fragmentation_bytes:40462720 #used_memory_rss和used_memory之間的差值,單位字節
62 mem_not_counted_for_evict:1248
63 mem_replication_backlog:1048584
64 mem_clients_slaves:49694
65 mem_clients_normal:117382
66 mem_aof_buffer:1248
67 mem_allocator:libc #內存分配器
68 active_defrag_running:0 #表示沒有活動的defrag任務正在運行,1表示有活動的defrag任務正在運行(defrag:表示內存碎片整理)
69 lazyfree_pending_objects:0 #指示活動碎片整理是否處於活動狀態的標志,表示不存在延遲釋放待的掛起對象
70
71 # Persistence 72 loading:0 #服務器是否正在載入持久化rdb文件
73 rdb_changes_since_last_save:2033 #自上次rdb持久化以來發生改變的數值
74 rdb_bgsave_in_progress:0 #服務器是否正在創建rdb文件
75 rdb_last_save_time:1588681336 #最后一次成功rdb持久化的時間戳
76 rdb_last_bgsave_status:ok #最后一次rdb持久化是否成功
77 rdb_last_bgsave_time_sec:3 #最后一次成功生成rdb文件耗時秒數
78 rdb_current_bgsave_time_sec:-1 #當前bgsave已耗費的時間(如果有)
79 rdb_last_cow_size:2326528 #上次rbd保存操作期間寫時復制分配的字節大小
80 aof_enabled:1 #aof功能是否開啟
81 aof_rewrite_in_progress:0 #標識aof的rewrite操作是否在進行中
82 aof_rewrite_scheduled:0
83 aof_last_rewrite_time_sec:4 #最后一次aof rewrite耗費的時長
84 aof_current_rewrite_time_sec:-1 #當前rewrite已耗費的時間(如果有)
85 aof_last_bgrewrite_status:ok #最后一次bgrewrite是否成功
86 aof_last_write_status:ok #上次aof寫入狀態
87 aof_last_cow_size:8228864 #上次AOF重寫操作期間寫時復制分配的大小(以字節為單位)
如果激活了AOF,則會添加以下附加字段:
88 aof_current_size:139887774 #aof當前尺寸
89 aof_base_size:134945531 #服務器啟動時或者aof重寫最近一次執行之后aof文件的大小
90 aof_pending_rewrite:0 #是否有aof重寫操作在等待rdb文件創建完畢之后執行?
91 aof_buffer_length:0 #aof buffer的大小
92 aof_rewrite_buffer_length:0 #aof rewrite buffer的大小
93 aof_pending_bio_fsync:0 #后台I/O隊列里面,等待執行的fsync調用數量
94 aof_delayed_fsync:0 #被延遲的fsync調用數量
95
96 # Stats 97 total_connections_received:613 #服務接受的總連接數
98 total_commands_processed:13686559 #服務器處理的總命令數
99 instantaneous_ops_per_sec:836 #每秒處理的命令數
100 total_net_input_bytes:6381663743 #從網絡讀取的總字節數
101 total_net_output_bytes:33684743304 #寫入網絡的總字節數
102 instantaneous_input_kbps:37.63 #網絡讀取速率KB/sec
103 instantaneous_output_kbps:340.46 #網絡寫入速率KB/sec
104 rejected_connections:0 #因達到最大連接數而拒絕的連接
105 sync_full:1 #給從節點完全同步的數量
106 sync_partial_ok:0
#接受的同步請求數量
107 sync_partial_err:1 #拒絕的同步請求數量
108 expired_keys:0 #鍵到期的總數
109 expired_stale_perc:0.00
110 expired_time_cap_reached_count:0
111 evicted_keys:0 #因達到maxmemory限制而被驅逐的鍵的數量
112 keyspace_hits:8303634 #Number of successful lookup of keys in the main dictionary
113 keyspace_misses:939908 #Number of failed lookup of keys in the main dictionary
114 pubsub_channels:0
115 pubsub_patterns:0
116 latest_fork_usec:8884 #最新fork操作的持續時間(以微秒為單位)
117 migrate_cached_sockets:0
118 slave_expires_tracked_keys:0
119 active_defrag_hits:0
120 active_defrag_misses:0
121 active_defrag_key_hits:0
122 active_defrag_key_misses:0
123
124 # Replication 125 role:master #master or slave
126 connected_slaves:1 #已建立連接的從節點數
127 slave0:ip=172.22.90.43,port=6380,state=online,offset=5961433752,lag=0
128 master_replid:6e6bff1ebbb7d49f469754be694cd13fe7f1ad33 #復制ID
129 master_replid2:76f072b3ed4025665993e53ecc33514af5b012ce #第二個復制ID,用於failover的PSYNC
130 master_repl_offset:5961433752 #服務當前的復制偏移量
131 second_repl_offset:5551399839 #The offset up to which replication IDs are accepted
132 repl_backlog_active:1
133 repl_backlog_size:1048576 #復制積壓緩沖區的總大小(B)
134 repl_backlog_first_byte_offset:5960385177 #復制積壓緩沖區的主偏移量
135 repl_backlog_histlen:1048576 #復制積壓緩沖區中數據的大小
136
137 # CPU 138 used_cpu_sys:3607.150175 #Redis服務消耗的系統cpu
139 used_cpu_user:2903.770764 #Redis服務消耗的用戶cpu
140 used_cpu_sys_children:883.656423 #后台進程占用的系統cpu
141 used_cpu_user_children:3843.842870 #后台進程占用的用戶cpu
142
143 # Cluster #集群信息
144 cluster_enabled:1
145
146 # Keyspace #數據庫的統計信息
147 db0:keys=36854,expires=10,avg_ttl=2559355799
參考:https://blog.csdn.net/byteArr/article/details/95978568
參考:https://www.cnblogs.com/unsigned1995/p/11299695.html
參考:https://baijiahao.baidu.com/s?id=1610139396248906453&wfr=spider&for=pc