Module EventMachine::Protocols
In: lib/em-redis/redis_protocol.rb

Methods

[]=   auth   call_command   connect   connection_completed   decr   dispatch_response   errback   exec   incr   mapped_mget   maybe_lock   method_missing   mset   msetnx   multi   new   on_error   process_cmd   quit   receive_data   select   set   sort   type   unbind  

Classes and Modules

Module EventMachine::Protocols::Redis
Class EventMachine::Protocols::ParserError
Class EventMachine::Protocols::ProtocolError
Class EventMachine::Protocols::RedisError

Constants

ALIASES = { "flush_db" => "flushdb", "flush_all" => "flushall", "last_save" => "lastsave", "key?" => "exists", "delete" => "del", "randkey" => "randomkey", "list_length" => "llen", "push_tail" => "rpush", "push_head" => "lpush", "pop_tail" => "rpop", "pop_head" => "lpop", "list_set" => "lset", "list_range" => "lrange", "list_trim" => "ltrim", "list_index" => "lindex", "list_rm" => "lrem", "set_add" => "sadd", "set_delete" => "srem", "set_count" => "scard", "set_member?" => "sismember", "set_members" => "smembers", "set_intersect" => "sinter", "set_intersect_store" => "sinterstore", "set_inter_store" => "sinterstore", "set_union" => "sunion", "set_union_store" => "sunionstore", "set_diff" => "sdiff", "set_diff_store" => "sdiffstore", "set_move" => "smove", "set_unless_exists" => "setnx", "rename_unless_exists" => "renamenx", "type?" => "type", "zset_add" => "zadd", "zset_count" => "zcard", "zset_range_by_score" => "zrangebyscore", "zset_reverse_range" => "zrevrange", "zset_range" => "zrange", "zset_delete" => "zrem", "zset_score" => "zscore", "zset_incr_by" => "zincrby", "zset_increment_by" => "zincrby", # these aliases aren't in redis gem "background_save" => 'bgsave', "async_save" => 'bgsave', "members" => 'smembers', "decrement_by" => "decrby", "decrement" => "decr", "increment_by" => "incrby", "increment" => "incr", "set_if_nil" => "setnx", "multi_get" => "mget", "random_key" => "randomkey", "random" => "randomkey", "rename_if_nil" => "renamenx", "tail_pop" => "rpop", "pop" => "rpop", "head_pop" => "lpop", "shift" => "lpop", "list_remove" => "lrem", "index" => "lindex", "trim" => "ltrim", "list_range" => "lrange", "range" => "lrange", "list_len" => "llen", "len" => "llen", "head_push" => "lpush", "unshift" => "lpush", "tail_push" => "rpush", "push" => "rpush", "add" => "sadd", "set_remove" => "srem", "set_size" => "scard", "member?" => "sismember", "intersect" => "sinter", "intersect_and_store" => "sinterstore", "members" => "smembers", "exists?" => "exists"
DISABLED_COMMANDS = { "monitor" => true, "sync" => true

Public Class methods

Public Instance methods

Similar to memcache.rb‘s get_multi, returns a hash mapping keys to values.

I‘m not sure autocommit is a good idea. For example:

  r.multi { r.set('a', 'b') { raise "kaboom" } }

will commit "a" and will stop EM

on_error(&blk)

Alias for errback

19Feb09 Switched to a custom parser, LineText2 is recursive and can cause

        stack overflows when there is too much data.

include EM::P::LineText2

Ruby defines a now deprecated type method so we need to override it here since it will never hit method_missing

[Validate]