Redis Lua Scripts

Executing Lua scripts in Redis

EVAL

EVAL 'return redis.call("SET", KEYS[1], ARGV[1])' 1 mykey myvalue
# execute Lua script

Script Structure

'
local value = redis.call("GET", KEYS[1])
if value == false then
    redis.call("SET", KEYS[1], ARGV[1])
    return 1
end
return 0
'

SCRIPT LOAD

SCRIPT LOAD 'return redis.call("GET", KEYS[1])' # load script, returns SHA1

EVALSHA

EVALSHA sha1 1 mykey # execute loaded script by SHA1

Script Management

SCRIPT EXISTS sha1 # check if script exists
SCRIPT FLUSH # remove all scripts