Driver for tarantool 1.7 on nginx cosockets and plain lua sockets
A pure Lua driver for the NoSQL database Tarantool using fast nginx cosockets when available, or luasocket as a fallback.
Requires lua-MessagePack.
For luasock
sockets, lua-resty-socket and sha1.lua are required.
These can be installed using luarocks install lua-resty-socket
and luarocks install sha1
tarantool = require("tarantool")
-- initialize connection
local tar = tarantool({
host = '127.0.0.1',
port = 3301,
user = 'gg_tester',
password = 'pass',
socket_timeout = 2000,
connect_now = true,
})
-- requests
local data, err = tar:ping()
local data, err = tar:insert('profiles', { 1, "nick 1" })
local data, err = tar:insert('profiles', { 2, "nick 2" })
local data, err = tar:select(2, 0, 3)
local data, err = tar:select('profiles', 'uid', 3)
local data, err = tar:replace('profiles', {3, "nick 33"})
local data, err = tar:delete('profiles', 3)
local data, err = tar:update('profiles', 'uid', 3, {{ '=', 1, 'nick new' }})
local data, err = tar:update('profiles', 'uid', 3, {{ '#', 1, 1 }})
-- disconnect or set_keepalive at the end
local ok, err = tar:disconnect()
local ok, err = tar:set_keepalive()