Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Uzyskaj klucze i wartości Redis w wierszu polecenia

Nie ma do tego polecenia, ale możesz napisać skrypt, który to zrobi.

Będziesz musiał wykonać dla każdego klawisza polecenie „typu”:

> type <key>

i w zależności od odpowiedzi wykonaj:

  • dla "string":get <key>
  • dla "hash":hgetall <key>
  • dla "listy":lrange <key> 0 -1
  • dla "set":smembers <key>
  • dla "zset":zrange <key> 0 -1 withscores

Pamiętaj, że w przypadku skrótów i posortowanych zestawów otrzymasz klucze/wyniki i wartości.

Możliwe sh realizacja:

#!/bin/sh -eu
keys=`redis-cli keys '*'`
if [ "$keys" ]; then
    echo "$keys" | while IFS= read -r key; do
        type=`echo | redis-cli type "$key"`
        case "$type" in
            string) value=`echo | redis-cli get "$key"`;;
            hash) value=`echo | redis-cli hgetall "$key"`;;
            set) value=`echo | redis-cli smembers "$key"`;;
            list) value=`echo | redis-cli lrange "$key" 0 -1`;;
            zset) value=`echo | redis-cli zrange "$key" 0 -1 withscores`;;
        esac
        echo "> $key ($type):"
        echo "$value" | sed -E 's/^/    /'
    done
fi

Ale pamiętaj:

Ostrzeżenie:rozważ KEYS jako polecenie, które powinno być używane tylko w środowiskach produkcyjnych z najwyższą ostrożnością. Może zrujnować wydajność, gdy jest wykonywany na dużych bazach danych. To polecenie jest przeznaczone do debugowania i operacji specjalnych, takich jak zmiana układu przestrzeni klawiszy.

https://redis.io/commands/keys



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zapytania złożone z Redis

  2. Jak zwrócić flask render_template po zakończeniu pracy w tle Redis?

  3. Jak ustawić wygaśnięcie wielu kluczy w Redis

  4. Redis C# - Używanie wartości Incr w transakcji

  5. Jak połączyć się z instancją klastra Docker Redis przy użyciu jedis for Java?