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
-
just install
git
andmake
-
git clone --recursive https://github.com/markuman/tinywebdis
-
make ubuntu
-
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 -w '\n' http://127.0.0.1:1234/get/foo
{"get": 42 }
$ curl -w '\n' http://127.0.0.1:1234/set/foo/gnupower
{"set": "OK" }
$ curl -w '\n' http://127.0.0.1:1234/get/foo
{"get": "gnupower" }
$ curl -w '\n' http://127.0.0.1:1234/type/foo
{"type": "string" }
$ curl -w '\n' http://127.0.0.1:1234/type/mylist
{"type": "list" }
$ curl -w '\n' http://127.0.0.1:1234/llen/mylist
{"llen": 4 }
$ curl -w '\n' http://127.0.0.1:1234/lrange/mylist/0/-1
{ "lrange":[ "hello", "oi", "oi", "a"] }
$ curl -w '\n' http://127.0.0.1:1234/keys/*
{ "keys":[ "mylist", "a:c", "foo", "a:b", "string"] }
$ curl -w '\n' http://127.0.0.1:8000/rpush/tinywebdis/redis
{"rpush": 3 }
curl -w '\n' http://127.0.0.1:8000/llen/tinywebdis
{"llen": 3 }
curl -w '\n' http://127.0.0.1:8000/lrange/tinywebdis/0/-1
{ "lrange":[ "lua", "dyad", "redis"] }
curl -w '\n' http://127.0.0.1:8888/get/foo?callback=myfunc
myfunc({"get":"gnupower"})
You can send a json object to turbowebdis like this.
{
"auth": "foobar",
"db": "0",
"command": [
"SET",
"SOME",
"VALUE"
]
}
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).
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!)