sql >> Databáze >  >> NoSQL >> Redis

Získejte klíče a hodnoty Redis na příkazovém řádku

Neexistuje na to žádný příkaz, ale můžete si k tomu napsat skript.

Pro každou klávesu budete muset provést příkaz "type":

> type <key>

a v závislosti na odpovědi provést:

  • pro "řetězec":get <key>
  • pro "hash":hgetall <key>
  • pro "seznam":lrange <key> 0 -1
  • pro "set":smembers <key>
  • pro "zset":zrange <key> 0 -1 withscores

Mějte na paměti, že pro hash a tříděné sady získáte klíče/skóre a hodnoty.

Možné sh implementace:

#!/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 mějte na paměti:

Upozornění:zvažte KEYS jako příkaz, který by měl být v produkčním prostředí používán pouze s extrémní opatrností. Při provádění proti velkým databázím může dojít ke snížení výkonu. Tento příkaz je určen pro ladění a speciální operace, jako je změna rozložení klíčového prostoru.

https://redis.io/commands/keys



  1. Implementace stránkování v mongodb

  2. Je redis trvalé úložiště dat?

  3. MongoDB vs. Redis vs. Cassandra pro rychlé řešení pro dočasné ukládání řádků

  4. Jak změním databázi redis?