mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-24 12:20:41 +00:00
redis api back compatible
This commit is contained in:
@@ -19,8 +19,15 @@ local meta = {
|
||||
}
|
||||
|
||||
function redis.connect(dbname)
|
||||
local fd = socket.open(name[dbname])
|
||||
return setmetatable( { __handle = fd, __mode = false }, meta )
|
||||
local db_conf = name[dbname]
|
||||
local fd = socket.open(db_conf.host, db_conf.port or 6379)
|
||||
assert(fd)
|
||||
local r = setmetatable( { __handle = fd, __mode = false }, meta )
|
||||
if db_conf.db ~= nil then
|
||||
r:select(db_conf.db)
|
||||
end
|
||||
|
||||
return r
|
||||
end
|
||||
|
||||
function command:disconnect()
|
||||
@@ -108,7 +115,8 @@ setmetatable(command, { __index = function(t,k)
|
||||
socket.write(fd, compose_message { cmd, ... })
|
||||
local ok, ret = read_response(fd)
|
||||
socket.unlock(fd)
|
||||
return ok, ret
|
||||
assert(ok, ret)
|
||||
return ret
|
||||
end
|
||||
end
|
||||
t[k] = f
|
||||
@@ -127,6 +135,13 @@ function command:exists(key)
|
||||
return exists
|
||||
end
|
||||
|
||||
function command:sismember(key, value)
|
||||
assert(not batch, "sismember can't used in batch mode")
|
||||
local result, ismember = skynet.call( self.__handle, "lua" , "SISMEMBER", key, value)
|
||||
assert(result, ismember)
|
||||
return ismember ~= 0
|
||||
end
|
||||
|
||||
function command:batch(mode)
|
||||
if mode == "end" then
|
||||
local fd = self.__handle
|
||||
|
||||
Reference in New Issue
Block a user