2011-09-18 34 views

risposta

25

So che il comando di chiavi, ma che restituisce solo le chiavi (sto cercando di indovinare tutte le chiavi di tipo String), ea quanto pare insiemi non sono chiavi considerati.

I risultati del comando KEYS restituiscono indipendentemente dal tipo di dati le chiavi, poiché ricerca i nomi dei tasti. Al livello più basso di astrazione ogni tipo di dati in redis è basato su chiave/valore in cui il valore può essere rappresentato da una delle diverse strutture di dati (avanzate) (stringa, hash, lista, set, insieme ordinato). Puoi vedere che il comando KEYS funziona anche per gli insiemi nel suo examples.

Esiste un comando per ottenere tutti i set nel database? Cosa su altri tipi di dati (hash, elenco, set ordinato)?

Per quanto ne so non esiste un comando dedicato per questa funzionalità e il comando KEYS viene applicato all'intero set di dati del database. Tuttavia esiste un comando TYPE che può determinare il tipo di dati della chiave specificata.

+1

Ops, ho fatto 'chiavi '*'', chiavi non '' *. Stavo eseguendo questo attraverso redis-cli e stavo cercando di evitare bash (a volte faccio 'chiavi redis-cli '*' 'o simili in bash invece di usare la modalità interattiva di redis-cli). Grazie per la risposta però! – tjameson

4

La risposta era corretta per il suo tempo, tuttavia questo è supportato da Redis 2.8.0 - Check out SCAN

+1

Come si può ottenere un elenco di tasti del tipo impostato usando Scan? Il comando 'SSCAN' esegue solo iterazioni all'interno di una chiave di tipo set – Emer

Problemi correlati