sql >> Database >  >> NoSQL >> Redis

Redis-sleutels en -waarden ophalen bij de opdrachtprompt

Daar is geen commando voor, maar je kunt er wel een script voor schrijven.

U moet voor elke toets een "type"-opdracht uitvoeren:

> type <key>

en afhankelijk van het antwoord voer het volgende uit:

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

Houd er rekening mee dat u voor hashes en gesorteerde sets de sleutels/scores en waarden krijgt.

Een mogelijke sh implementatie:

#!/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

Maar let op:

Waarschuwing:overweeg KEYS als een commando dat alleen in productieomgevingen met uiterste zorg mag worden gebruikt. Het kan de prestaties verpesten wanneer het wordt uitgevoerd tegen grote databases. Deze opdracht is bedoeld voor foutopsporing en speciale bewerkingen, zoals het wijzigen van de lay-out van uw keyspace.

https://redis.io/commands/keys



  1. Meerdere schemaverwijzingen in een enkele schemaarray - mangoest

  2. Hoe implementeer je een automatisch oplopende primaire ID in MongoDB?

  3. Top 5 voordelen van gedeelde MongoDB-hosting

  4. Redis probeert verbinding te maken met localhost op Heroku in plaats van REDIS_URL