2015-09-09 12 views

risposta

13

Le chiavi sono specificatamente indicate come un comando che non deve essere eseguito in produzione a causa del modo in cui funziona. Quello che ti serve qui è creare un indice delle tue chiavi. Utilizzare uno set per memorizzare i nomi dei tasti del modello desiderato. Quando aggiungi una nuova chiave we, aggiungi il nome al set. Per esempio:

Set abc:parent1:child1 breakfast 
Sadd abc:parent1:index abc:parent1 

Poi, quando è necessario l'elenco:

Smembers abc:parent1 

vi darà la lista, senza le pene e problemi associati con il comando tasti "male". Inoltre, rimuovere una voce con sremove in caso di eliminazione chiave. Avrai anche la possibilità di sapere quante chiavi ci sono nell'indice con una singola chiamata.

Se assolutamente, in modo positivo, DEVE evitare l'uso di un indice utilizzare SCAN anziché chiavi.L'unica volta che dovresti considerare le chiavi è se stai eseguendo uno slave di debug in cui l'unico processo che lo usa è il tuo processo di debug.

+0

Non capisco bene come dovrebbe funzionare. Nel tuo esempio, dovrebbe essere in realtà: 'set abc: parent1: child1 breakfast' e quindi' sadd abc: parent1 child1'? – Automatico

+0

No, perché l'OP voleva solo il livello di parent1 non child. –

+0

Ho frainteso la domanda, grazie per il chiarimento. – Automatico

3

Comando CHIAVI modello vi aiuterà per la stessa.

es:

redis> MSET one 1 two 2 three 3 four 4 
OK 
redis> KEYS *o* 
1) "two" 
2) "one" 
3) "four" 

Per esempio specifico, il seguente comando funzionerà:

redis 127.0.0.1:6379> keys *parent[0-9] 
1) "abc:parent2" 
2) "abc:parent1" 

Ecco the detailed description of the command.

Aggiornamento: Anche se il suggerimento di cui sopra vi aiuta ad ottenere l'output desiderato, il Redis CHIAVI comando è il male come gli altri citati. CHIAVI sta bloccando e può consumare molta RAM durante la preparazione della risposta.

Non utilizzare KEY nel normale codice dell'applicazione. Se stai cercando un modo per trovare le chiavi in ​​un sottoinsieme del tuo spazio delle chiavi, considera l'utilizzo di SCAN o set.

Grazie a Real Bill e Itamar, ho capito meglio.

+2

'KEYS' è il male ... –

+0

Come si fa con' permesso:/url1/id/sub: write' e 'permesso:/url1/id: write' per abbinare solo' permesso:/url1/[^/] + ' – Natim

Problemi correlati