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

Redis lua hvornår skal man virkelig bruge det?

Lua-scripts er beregnet til at fungere som MULTI kommandoer. Faktisk de fleste kommandoer, som du ville udvikle ved at bruge MULTI kommandoer fra en Redis-klient kan implementeres i Lua. Det vil sige, du kan indkapsle nogle komplekse operationer i et script, og dit datalag vil udføre den atomare skriveoperation uden at bekymre dig om din datamodelleringsstrategi på Redis.

Jeg finder dem også nyttige, når du vil udføre hurtige, men komplekse læseoperationer. For eksempel vil du måske få orden på genstande. Objekter er gemt i en hash-nøgle mens rækkefølgen er defineret af en sorteret sætnøgle . Du får en række af det såkaldte sorterede sæt, og du får objekter i hash ved hjælp af hmget .

Det vigtigste punkt er, at Lua-scripts skal implementere ting, der kan udføres så hurtigt som muligt, da Redis vil blokere andre operationer, mens et Lua-script kører. Det vil sige, du skal udføre hurtige afbrydelser ellers vil din overordnede Redis ydeevne falde meget.

Argumenter for ikke at bruge Lua

Jeg vil påstå, at du skal bruge dem, når du virkelig har brug for dem. Normalt udvikles klienter ved hjælp af programmeringssprog på højt niveau som C#, Java, JavaScript, Ruby... og de giver bedre udviklingsoplevelse:gode debuggere, IDE, kodefuldførelse...

Resumé:du bør bruge dem, hvis du kan bevise, at der er en reel fordel (i ydeevne), hvis du omdanner en del af din domænelogik til Redis Lua-scripts.



  1. 'process.nextTick(function() { throw err; })' - Udefineret er ikke en funktion (mongodb/mongoose)

  2. Hvordan kalder man funktion efter afslutning af asynkrone funktioner inde i loop?

  3. Upsert Array Elements matchende kriterier i et MongoDB-dokument?

  4. Spring Session Data Redis - Få gyldige sessioner, nuværende bruger fra Redis Store