sql >> Databasteknik >  >> NoSQL >> Redis

Redis lua när ska man verkligen använda det?

Lua-skript är tänkta att fungera som MULTI kommandon. Faktiskt de flesta kommandon som du skulle utveckla med MULTI kommandon från en Redis-klient kan implementeras i Lua. Det vill säga, du kan kapsla in några komplexa operationer i ett skript och ditt datalager kommer att utföra den atomära skrivoperationen utan att oroa dig för din datamodelleringsstrategi på Redis.

Jag tycker också att de är användbara när du vill utföra snabba men komplexa läsoperationer. Du kanske till exempel vill få ordning på föremål. Objekt lagras i en hashnyckel medan ordningen definieras av en sorterad uppsättningsnyckel . Du får ett intervall av den så kallade sorterade uppsättningen och du får objekt i hash med hjälp av hmget .

Den viktigaste punkten är att Lua-skript ska implementera saker som kan köras så snabbt som möjligt, eftersom Redis kommer att blockera andra operationer medan ett Lua-skript körs. Det vill säga, du måste utföra snabba avbrott eller så kommer din totala Redis-prestanda att minska mycket.

Argument för att inte använda Lua

Jag skulle hävda att man ska använda dem när man verkligen behöver dem. Vanligtvis utvecklas klienter med hjälp av högnivåprogrammeringsspråk som C#, Java, JavaScript, Ruby... och de ger bättre utvecklingsupplevelse:bra debuggers, IDE, kodkomplettering...

Sammanfattning:du bör använda dem om du kan bevisa att det finns en verklig fördel (i prestanda) om du förvandlar någon del av din domänlogik till Redis Lua-skript.



  1. MongoDB mongoose utfasningsvarning

  2. Matcha ObjectId till String för $graphLookup

  3. MongoDB $bsonSize

  4. När ska MongoDB-databasanslutning stängas i Nodejs