Module: Sensu::Redis
- Defined in:
- lib/sensu/redis.rb,
lib/sensu/redis/errors.rb,
lib/sensu/redis/parser.rb,
lib/sensu/redis/commands.rb,
lib/sensu/redis/constants.rb,
lib/sensu/redis/processor.rb,
lib/sensu/redis/connection.rb
Defined Under Namespace
Modules: Commands, Connection, Parser, Processor Classes: Client, CommandError, ConnectionError, ProtocolError
Constant Summary collapse
- OK =
RESP (REdis Serialization Protocol) response type characters and delimiter (redis.io/topics/protocol).
"OK".freeze
- MINUS =
"-".freeze
- PLUS =
"+".freeze
- COLON =
":".freeze
- DOLLAR =
"$".freeze
- ASTERISK =
"*".freeze
- DELIM =
"\r\n".freeze
- INCOMPLETE =
Redis response line parser incomplete data return value.
"incomp".freeze
- EMPTY_ARRAY =
Used to return empty array reponses.
[].freeze
- TRUE_VALUES =
Redis response boolean values.
%w[1 OK].freeze
- PUBSUB_RESPONSES =
Redis pubsub response type values.
%w[message unsubscribe].freeze
- REDIS_COMMANDS =
Redis commands that are supported by this library.
[ "set", "setnx", "get", "getset", "del", "info", "sadd", "smembers", "sismember", "srem", "scard", "hset", "hsetnx", "hget", "hgetall", "hdel", "hincrby", "rpush", "lpush", "ltrim", "lrange", "exists", "ttl", "expire", "flushdb", "incr" ].freeze
- SELECT_COMMAND =
Redis DB select command.
"select".freeze
- AUTH_COMMAND =
Redis authentication command.
"auth".freeze
- SUBSCRIBE_COMMAND =
Redis PubSub subscribe command.
"subscribe".freeze
- UNSUBSCRIBE_COMMAND =
Redis PubSub unsubscribe command.
"unsubscribe".freeze
- BOOLEAN_PROCESSOR =
Boolean Redis response value processor.
lambda{|r| TRUE_VALUES.include?(r.to_s)}
- RESPONSE_PROCESSORS =
Redis response value processors.
{ "exists" => BOOLEAN_PROCESSOR, "sadd" => BOOLEAN_PROCESSOR, "srem" => BOOLEAN_PROCESSOR, "setnx" => BOOLEAN_PROCESSOR, "del" => BOOLEAN_PROCESSOR, "expire" => BOOLEAN_PROCESSOR, "select" => BOOLEAN_PROCESSOR, "hset" => BOOLEAN_PROCESSOR, "hdel" => BOOLEAN_PROCESSOR, "hsetnx" => BOOLEAN_PROCESSOR, "hgetall" => lambda{|r| Hash[*r]}, "info" => lambda{|r| info = {} r.each_line do |line| line.chomp! unless line.empty? k, v = line.split(":", 2) info[k.to_sym] = v end end info } }