A redis client for lua
Lua
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lredis
spec
.busted
.luacheckrc
.luacov
.travis.yml
LICENSE.md
README.md
lredis-scm-0.rockspec

README.md

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?
    • Requires lluv/libuv
  • 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.

Build Status Coverage Status

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