rubyredis more compatible with Redis-rb
This commit is contained in:
parent
06374c4b17
commit
e3d48807b9
@ -6,6 +6,7 @@
|
|||||||
# method_missing instead.
|
# method_missing instead.
|
||||||
|
|
||||||
require 'socket'
|
require 'socket'
|
||||||
|
require 'set'
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if (RUBY_VERSION >= '1.9')
|
if (RUBY_VERSION >= '1.9')
|
||||||
@ -27,6 +28,7 @@ class RedisClient
|
|||||||
}
|
}
|
||||||
|
|
||||||
ConvertToBool = lambda{|r| r == 0 ? false : r}
|
ConvertToBool = lambda{|r| r == 0 ? false : r}
|
||||||
|
ConvertToSet = lambda{|r| Set.new(r)}
|
||||||
|
|
||||||
ReplyProcessor = {
|
ReplyProcessor = {
|
||||||
"exists" => ConvertToBool,
|
"exists" => ConvertToBool,
|
||||||
@ -39,6 +41,10 @@ class RedisClient
|
|||||||
"del"=> ConvertToBool,
|
"del"=> ConvertToBool,
|
||||||
"renamenx"=> ConvertToBool,
|
"renamenx"=> ConvertToBool,
|
||||||
"expire"=> ConvertToBool,
|
"expire"=> ConvertToBool,
|
||||||
|
"smembers" => ConvertToSet,
|
||||||
|
"sinter" => ConvertToSet,
|
||||||
|
"sunion" => ConvertToSet,
|
||||||
|
"sdiff" => ConvertToSet,
|
||||||
"keys" => lambda{|r| r.split(" ")},
|
"keys" => lambda{|r| r.split(" ")},
|
||||||
"info" => lambda{|r|
|
"info" => lambda{|r|
|
||||||
info = {}
|
info = {}
|
||||||
@ -58,7 +64,6 @@ class RedisClient
|
|||||||
"delete" => "del",
|
"delete" => "del",
|
||||||
"randkey" => "randomkey",
|
"randkey" => "randomkey",
|
||||||
"list_length" => "llen",
|
"list_length" => "llen",
|
||||||
"type?" => "type",
|
|
||||||
"push_tail" => "rpush",
|
"push_tail" => "rpush",
|
||||||
"push_head" => "lpush",
|
"push_head" => "lpush",
|
||||||
"pop_tail" => "rpop",
|
"pop_tail" => "rpop",
|
||||||
@ -74,13 +79,15 @@ class RedisClient
|
|||||||
"set_member?" => "sismember",
|
"set_member?" => "sismember",
|
||||||
"set_members" => "smembers",
|
"set_members" => "smembers",
|
||||||
"set_intersect" => "sinter",
|
"set_intersect" => "sinter",
|
||||||
|
"set_intersect_store" => "sinterstore",
|
||||||
"set_inter_store" => "sinterstore",
|
"set_inter_store" => "sinterstore",
|
||||||
"set_union" => "sunion",
|
"set_union" => "sunion",
|
||||||
"set_union_store" => "sunionstore",
|
"set_union_store" => "sunionstore",
|
||||||
"set_diff" => "sdiff",
|
"set_diff" => "sdiff",
|
||||||
"set_diff_store" => "sdiffstore",
|
"set_diff_store" => "sdiffstore",
|
||||||
"set_move" => "smove",
|
"set_move" => "smove",
|
||||||
"set_unless_exists" => "setnx"
|
"set_unless_exists" => "setnx",
|
||||||
|
"rename_unless_exists" => "renamenx"
|
||||||
}
|
}
|
||||||
|
|
||||||
def initialize(opts={})
|
def initialize(opts={})
|
||||||
@ -108,6 +115,7 @@ class RedisClient
|
|||||||
begin
|
begin
|
||||||
sock = TCPSocket.new(host, port, 0)
|
sock = TCPSocket.new(host, port, 0)
|
||||||
rescue Timeout::Error
|
rescue Timeout::Error
|
||||||
|
@sock = nil
|
||||||
raise Timeout::Error, "Timeout connecting to the server"
|
raise Timeout::Error, "Timeout connecting to the server"
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user