Redis
 sql >> Database >  >> NoSQL >> Redis

Redis lua quando usarlo davvero?

Script Lua sono pensati per funzionare come MULTI comandi. In realtà la maggior parte dei comandi che svilupperesti usando MULTI i comandi da un client Redis possono essere implementati in Lua. Cioè, puoi incapsulare alcune operazioni complesse in uno script e il tuo livello dati eseguirà l'operazione di scrittura atomica senza preoccuparti della tua strategia di modellazione dei dati su Redis.

Inoltre, li trovo utili quando si desidera eseguire operazioni di lettura rapide ma complesse. Ad esempio, potresti voler mettere in ordine gli oggetti. Gli oggetti sono archiviati in una chiave hash mentre l'ordine è definito da una chiave set ordinata . Ottieni un intervallo del cosiddetto set ordinato e ottieni oggetti in hash usando hmget .

Il punto più importante è che gli script Lua dovrebbero implementare cose che possono essere eseguite il più velocemente possibile, poiché Redis bloccherà altre operazioni mentre uno script Lua è in esecuzione. Ovvero, devi eseguire interruzioni rapide o le prestazioni complessive di Redis diminuiranno notevolmente.

Argomenti per non usare Lua

Direi che dovresti usarli quando ne hai davvero bisogno. Di solito, i client vengono sviluppati utilizzando linguaggi di programmazione di alto livello come C#, Java, JavaScript, Ruby... e forniscono una migliore esperienza di sviluppo:buoni debugger, IDE, completamento del codice...

Riepilogo:dovresti usarli se puoi dimostrare che c'è un vantaggio effettivo (in termini di prestazioni) se trasformi parte della tua logica di dominio in script Redis Lua.