redis-cli –scan, –bigkeys, –latency, –stat în Redis & In-Memory Data Store

Modurile de diagnostic din redis-cli: listarea cheilor fără blocare, găsirea cheilor mari, măsurarea latenței și statistici live.

Sintaxă comandă
redis-cli --scan [--pattern tipar]
redis-cli --bigkeys | --memkeys
redis-cli --latency
redis-cli --stat

Ce face redis-cli --scan, --bigkeys, --latency, --stat

--scan listează cheile folosind SCAN, câte una pe rând, fără să blocheze serverul; cu --pattern filtrezi după tipar. E varianta sigură pentru operațiile de întreținere pe multe chei. --bigkeys parcurge baza și raportează cea mai mare cheie din fiecare tip (după numărul de elemente), iar --memkeys face același lucru după memoria ocupată.

--latency trimite PING în buclă și afișează latența minimă, maximă și medie în milisecunde (în Redis 8.10 cu trei zecimale; versiunile mai vechi afișează valori întregi). --stat afișează în fiecare secundă un rând cu numărul de chei, memoria, clienții, clienții blocați și cererile pe secundă.

Parametri

Parametru Descriere
--scan --pattern tipar Listează cheile care se potrivesc, prin SCAN.
--bigkeys / --memkeys Cele mai mari chei după număr de elemente / după memorie.
--latency / --latency-history Latența serverului (continuu / pe intervale de 15 secunde).
--stat Statistici în timp real, un rând pe secundă.
-i sec Pauză între loturile de SCAN la –scan/–bigkeys, ca să încarce mai puțin serverul.

Ce returnează

Text în terminal; modurile --latency și --stat rulează până la Ctrl-C.

Exemple

Exemplul 1: Ștergerea cheilor temporare, fără KEYS

--scan scrie câte o cheie pe rând, iar xargs le trimite la UNLINK în loturi de 100. În pipe, redis-cli afișează numerele fără „(integer)”.

redis-cli --scan --pattern 'tmp:import:*' | head -n 3
redis-cli --scan --pattern 'tmp:import:*' | xargs -n 100 redis-cli UNLINK

Ieșire în terminal

tmp:import:8812
tmp:import:1204
tmp:import:5590
100
100
37

Exemplul 2: Cele mai mari chei (finalul raportului)

Fragment din rezumatul afișat de --bigkeys la final.

redis-cli --bigkeys

Ieșire în terminal

-------- summary -------

Total key length in bytes is 18432 (avg len 12.13)

Biggest   list found "coada:comenzi" has 52310 items
Biggest   hash found "utilizator:7" has 14 fields
Biggest string found "raport:pdf" has 834112 bytes

Exemplul 3: Latența și statisticile live

Primul rând se actualizează continuu până la Ctrl-C. La --stat, „(+211)” înseamnă 211 cereri în ultima secundă.

redis-cli --latency
redis-cli --stat

Ieșire în terminal

min: 0.081, max: 1.204, avg: 0.152 (1530 samples)
------- data ------ --------------------- load -------------------- - child -
keys       mem      clients blocked requests            connections          
1520       2.31M    3       0       104520 (+0)         312         
1521       2.31M    3       0       104731 (+211)       312         
1523       2.32M    4       1       104980 (+249)       313

Greșeli frecvente

  • --bigkeys parcurge toată baza; pe servere mari rulează-l cu -i 0.1 și în afara orelor de vârf.
  • Latența măsurată include rețeaua dintre tine și server: rulează --latency de pe mașina aplicației, nu de pe laptop.

Comenzi înrudite

  • redis-cli: conectare și opțiuni: Clientul în linie de comandă al Redis: conectare la server, rularea comenzilor din shell, afișare brută (–raw) și repetare (-r, -i).
  • KEYS vs SCAN: KEYS listează toate cheile după un tipar dintr-odată și blochează serverul; SCAN le parcurge treptat, cu un cursor.
  • SLOWLOG GET / LEN / RESET: Arată comenzile care au durat mai mult decât un prag configurat, ca să găsești ce încetinește serverul.
  • INFO: Afișează informații și statistici despre server: versiune, memorie, clienți, persistență, replicare și chei pe baze de date.