Sök…


Introduktion

Redis tillhandahåller ett par mekanismer för att utöka databasens funktionalitet. En mekanism är genom användning av LUA-skript på serversidan som kan köras för att manipulera data. Lua-skript kan vara användbara för att utföra dyra operationer eller för att genomföra atomoperationer som kräver logik.

Kommandon för skript

Redis erbjuder sju olika operationer för att arbeta med skript:

  • Utvärderingsoperationer (EVAL, EVALSHA)
  • SCRIPT-operationer (DEBUG, EXISTS, FLUSH, KILL, LOAD)

EVAL-kommandot utvärderar ett skript som tillhandahålls som ett strängargument till servern. Skript har åtkomst till de angivna Redis-nycklarna namngivna som argument till kommandot och och ytterligare strängparametrar som användaren vill skicka till skriptet.

Till exempel kommandot:

EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second

orsakar körning av ett användardefinierat Lua-skript som helt enkelt returnerar de levererade värdena. Samtalet är involverat med 2 återuppringningsknappar (tangent1 och tangent2) och två parametrar.

Ett annat sätt att köra ett Lua-skript är att först ladda det i databasen och sedan köra det med en SHA-hash för skriptet:

> script load "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}"
"a42059b356c875f0717db19a51f6aaca9ae659ea"
> evalsha "a42059b356c875f0717db19a51f6aaca9ae659ea" 2 key1 key2 foo bar
1) "key1"
2) "key2"
3) "foo"
4) "bar"

Kommandot skriptbelastning laddar skriptet och lagrar det i databasen. En shasignatur av skriptet returneras så att det kan refereras till av framtida samtal. EVALSHA-funktionen tar sha och kör motsvarande skript från databasen.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow