Redis library for Lua
Features
- Optionally asynchronous
- Compatible with Lua 5.1, 5.2, 5.3 and LuaJIT
- Subscribe (PubSub) mode
- Automatic pipelining (if you use more than one coroutine)
Why not _____?
- redis-lua?
- Not asynchronous
- Relies on luasocket
- Architecture doesn't support subscribe mode
- lluv-redis?
- lua-resty-redis?
- Only works inside of openresty/nginx
- lua-hiredis?
- Not asynchronous
- Relies on hiredis C module
- Architecture doesn't support subscribe mode
- lua_redis
- Not asynchronous
- Relies on hiredis C module
- Architecture doesn't support subscribe mode
- sidereal?
- Unmaintained
- Asynchronous mode not really composable
- Relies on luasocket
- fend-redis?
- Unmaintained
- Relies on hiredis C module
- requires ffi
Status
This project is a work in progress and not ready for production use.
Installation
It's recommended to install lredis by using luarocks.
This will automatically install run-time lua dependencies for you.
$ luarocks install --server=http://luarocks.org/dev lredis
Dependencies
For running tests
Development
Getting started
-
Clone the repo:
$ git clone https://github.com/daurnimator/lredis.git
$ cd lredis
-
Install dependencies
$ luarocks install --only-deps lredis-scm-0.rockspec
-
Lint the code (check for common programming errors)
$ luacheck .
-
Run tests and view coverage report (install tools first)
$ busted -c
$ luacov && less luacov.report.out
-
Install your local copy:
$ luarocks make lredis-scm-0.rockspec