Scripting

Lua scripts and function libraries (EVAL, EVALSHA, SCRIPT, FUNCTION, FCALL), in the Lua and Full builds of KiviDB.

23 commands in KiviDB 1.1.2. Every command.

  • EVAL: Runs a Lua script on the server, as one step: no other client's command starts while it runs.
  • EVAL_RO: EVAL for a script that only reads: a command in it that writes fails.
  • EVALSHA: Runs a script the server already has, named by its SHA1 digest, as SCRIPT LOAD returns it, or as a previous EVAL cached it.
  • EVALSHA_RO: EVALSHA for a script that only reads, as EVAL_RO is.
  • FCALL: Calls a function of a library loaded with FUNCTION LOAD.
  • FCALL_RO: FCALL for a function registered with the no-writes flag; any other is refused.
  • FUNCTION: Manages libraries of functions, which FCALL calls.
    • FUNCTION DELETE: Deletes a library and its functions.
    • FUNCTION DUMP: Serializes every function library into a payload that FUNCTION RESTORE loads, on this server or another.
    • FUNCTION FLUSH: Deletes every library.
    • FUNCTION HELP: Lists the FUNCTION subcommands and what each does.
    • FUNCTION KILL: Stops the function running, if it has not written.
    • FUNCTION LIST: Returns every library, or those whose names match LIBRARYNAME pattern, with its functions, each with its description and flags.
    • FUNCTION LOAD: Loads a library of functions.
    • FUNCTION RESTORE: Loads a payload from FUNCTION DUMP.
    • FUNCTION STATS: Returns the function running, if any (its name, command and duration so far), and the number of libraries and functions.
  • SCRIPT: Manages the cache of scripts EVAL and SCRIPT LOAD fill, and the script running.
    • SCRIPT DEBUG: Accepted for compatibility with Redis, with YES, SYNC or NO.
    • SCRIPT EXISTS: Tells, for each SHA1 digest, whether the script is cached.
    • SCRIPT FLUSH: Empties the script cache.
    • SCRIPT HELP: Lists the SCRIPT subcommands and what each does.
    • SCRIPT KILL: Stops the script running, if it has not written anything.
    • SCRIPT LOAD: Compiles a script and caches it, without running it, and returns its SHA1 digest for EVALSHA.