2015-08-19 8 views

risposta

11

Tutte le vostre domande trovano risposta nella pagina di EVAL, ma dal momento che lei ha chiesto ...:

Qual è la differenza?

KEYS viene utilizzato per passare i nomi dei tasti mentre ARGS dovrebbe essere per niente altro. Questo non è esattamente applicato (vale a dire la maggior parte delle volte sarebbe ok se li mischia) ma potrebbe portare a potenziali problemi se non seguito.

In che modo Redis tratta i valori nell'array KEYS?

I contenuti di KEYS vengono controllati per verificare che tutte le chiavi siano disponibili per il frammento di Redis che sta eseguendo lo script. Questo meccanismo è in grado di consentire l'esecuzione di script in una distribuzione di cluster Redis.

E se nel mio script dovessi usare le chiavi generate dinamicamente in fase di esecuzione?

Vedere le risposte precedenti: è fattibile, ma si andrebbe contro le raccomandazioni. Lo script sarà sicuro da eseguire solo su un'istanza Redis stand alone e poiché questo comportamento non è specificato, potrebbe interrompersi nelle versioni future.

+0

Avete un'idea, come gestire il multi chiave, che verrà utilizzato nel comando SORT come "SORT mySet BY myHash: * -> ordine GET myHash: * -> nome'? Posso passare a 'myHash: *' oa qualcosa del genere? – Schovi

+0

@Schovi che non sembra essere correlato a questa domanda e risposta - si prega di rivedere le domande esistenti su Stack Overflow, o di pubblicarne uno nuovo –

+0

Potrebbe per favore spiegare di più su "I TASTI sono controllati per verificare che tutte le chiavi siano disponibili per il frammento di Redis che sta eseguendo lo script yin in un cluster Redis "O ci fornisci qualche link su cosa succederà quando useremo i valori ARGV come chiave? E qual è lo svantaggio di creare dinamicamente chiavi durante l'ambiente cluster. Sono più preoccupato per l'affermazione "potrebbe rompersi nelle versioni future". Per favore aiuto. –

Problemi correlati