tinywebdis - a lean webdis replacement using turbo.lua
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Markus Bergholz 27ed53d771 tiny performance improvement преди 3 години
resp @ 127d8790b8 add resp submodule преди 4 години
.gitignore Initial commit преди 4 години
.gitmodules remove old files and submodules преди 4 години
LICENSE Initial commit преди 4 години
Makefile change PID filename and location преди 3 години
README.md update README преди 3 години
config.lua update README преди 3 години
curldemo.sh add jsonp example to curldemo преди 3 години
json_example.html implement receive json body with cors example file преди 4 години
receiveJson.html rewrite with turbo.lua преди 4 години
turbowebdis.lua tiny performance improvement преди 3 години



Webdis replacement using TurboLua.


  • luajit
  • luarocks 5.1
  • redis
  • gcc (to build TurboLua)

… install both with you package manager (when you’re using linux).


E.g. if you’re on a fresh Ubuntu

  1. just install git and make
  2. git clone --recursive https://github.com/markuman/tinywebdis
  3. make ubuntu
  4. make start

    $ make
    arch                           Install system dependencies on arch linux
    install                        Install turbowebdis dependencies locally
    start                          Start turbowebdis
    stop                           Stop turbowebdis
    tabularasa                     Tabula rasa
    ubuntu                         Install system dependencies on ubuntu
    uninstall                      Uninstall turbo dependencies

curl examples

$ curl -w '\n'
{"get": 42 }

$ curl -w '\n'
{"set": "OK" }

$ curl -w '\n'
{"get": "gnupower" }

$ curl -w '\n'
{"type": "string" }

$ curl -w '\n'
{"type": "list" }

$ curl -w '\n'
{"llen": 4 }

$ curl -w '\n'
{ "lrange":[ "hello", "oi", "oi", "a"]  }

$ curl -w '\n'*
{ "keys":[ "mylist", "a:c", "foo", "a:b", "string"]  }

$ curl -w '\n'
{"rpush": 3 }

curl -w '\n'
{"llen": 3 }

curl -w '\n'
{ "lrange":[ "lua", "dyad", "redis"] }
jsonp support
curl -w '\n'


You can send a json object to turbowebdis like this.

    "auth": "foobar",
    "db": "0",
    "command": [

The key/value pairs auth and/or db are not a must have. When they are missed, the default values from config.lua file are taken.
db should be a string. But you can pass it as a number too. Turbowebdis will take care of it.
See json_example.html as a standalone example (open the file directly in your webbrowser).

TurboWebdis, TinyWebdis & CherryWebdis

Go here for detailed install instructions: Installation

  • TurboWebdis is currently the main version (and the fastest).
  • TinyWebdis is currently not maintained but stable (and the tiniest installation).
  • CherryWebdis is maybe the easiest to install version (but incomplete!)