luvel
is a LuaJIT FFI wrapper for leveldb
luvel only runs on LuaJIT and Luvit.
If you are using LuaJIT just copy the luvel.lua
file into your project.
If you are using luvit then you may install the lit package:
$ lit install ravener/luvel
local luvel = require("luvel")
local db = luvel.open("database", { createIfMissing = true })
-- Putting keys
db:put("key", "value")
db:put("another", "two")
-- Getting keys
print(db:get("key"))
-- Iterators
for k, v in pairs(db) do
print(k, v)
end
-- Close the database.
db:close()
See also the full documentation
The library is usable, although I'm still cleaning it up and things are bound to change a lot.
Here's a list of things left to do:
- Snapshots support
- Support more options
- More documentation
- Tests
And more, expect it to be stable after a 1.0.0
release. In the meantime sending feedback regarding the design will help a lot.
Released under MIT License
The initial code started as a modification of Codezerker/lua_leveldb but has since evolved into a much higher level wrapper.