Maak een lijst van alle Redis-databases

1. Inleiding

In deze korte tutorial zullen we verschillende manieren bekijken om alle databases die beschikbaar zijn in Redis weer te geven.

2. Lijst van alle databases

In de eerste plaats het aantal databases in Redis staat vast. Daarom kunnen we deze informatie uit het configuratiebestand extraheren met een eenvoudig grep opdracht:

$ cat redis.conf | grep databases databases 16

Maar wat als we geen toegang hebben tot het configuratiebestand? In dit geval kunnen we de informatie krijgen die we nodig hebben door de configuratie tijdens runtime te lezen via het redis-cli:

127.0.0.1:6379> CONFIG GET databases 1) "databases" 2) "16"

Ten slotte, hoewel het meer geschikt is voor toepassingen op laag niveau, kunnen we het Redis Serialization Protocol (RESP) gebruiken via een telnet-verbinding:

$ telnet 127.0.0.1 6379 127.0.0.1 proberen ... Verbonden met 127.0.0.1. Escape-teken is '^]'. * 3 $ 6 CONFIG $ 3 GET $ 9 databases * 2 $ 9 databases $ 2 16

3. Alle databases met vermeldingen weergeven

Soms willen we meer informatie krijgen over de databases die sleutels bevatten. Om dat te doen, we kunnen profiteren van de Redis INFO commando, gebruikt om informatie en statistieken over de server op te halen. Hier willen we specifiek onze aandacht richten op de keyspace sectie, die databasegerelateerde gegevens bevat:

127.0.0.1:6379> INFO keyspace # Keyspace db0: keys = 2, expires = 0, avg_ttl = 0 db1: keys = 4, expires = 0, avg_ttl = 0 db2: keys = 9, expires = 0, avg_ttl = 0 

De uitvoer toont de databases met ten minste één sleutel, samen met een paar statistieken:

  • aantal aanwezige sleutels
  • aantal sleutels met vervaldatum
  • keys 'gemiddelde time-to-live

4. Conclusie

Kortom, dit artikel heeft verschillende manieren doorlopen om databases in Redis weer te geven. Zoals we hebben gezien, zijn er verschillende oplossingen, en welke we kiezen, hangt echt af van wat we proberen te bereiken.

EEN grep is over het algemeen de beste optie als we toegang hebben tot het configuratiebestand. Anders kunnen we de redis-cli. RESP is meestal geen goede keuze, tenzij we een applicatie bouwen die een protocol op laag niveau nodig heeft. eindelijk, de INFO commando is handig als we alleen databases willen ophalen die sleutels bevatten.