Конечно, Redis-RB поддерживает все, что вы просите.(BLPOP / BRPOP / LPUSH / LPOP).
ree-1.8.7-2011.03: 001> REDIS.methods.sort
=> ["==", "=== "," = ~ "," [] "," [] = "," id"," is_a"," метакласс"," send ", "` "," actions_like? "," Append "," as_json "," auth "," b64encode "," bgrewriteaof "," bgsave "," blank? "," Blpop"," точка останова "," brpop "," brpoplpush "," класс "," class_eval "," клиент "," клон "," config "," copy_instance_variables_from "," dbsize "," debug "," debugger ","decode64", "decode_b", "decr", "decrby", "del", "discard", "display", "do_or_do_not", "dup", "duplicable?", "echo", "enable_warnings", "encode64 "," enum_for "," eql? "," равный? "," exec "," существует "," ожидает "," истекает "," истекает "," вытягивается "," flushall "," flushdb ","freeze "," frozen? "," gem "," get "," getbit "," getrange "," getset "," hash "," hdel "," hexists "," hget "," hgetall "," hincrby ""," hkeys "," hlen "," hmget "," hmset "," hset "," hsetnx "," html_safe? "," hvals "," id "," incr "," incrby "," info ", "осмотреть", "instance_eval "," instance_exec "," instance_of? "," instance_values "," instance_variable_defined? "," instance_variable_get "," instance_variable_names "," instance_variable_set "," instance_variables "," is_a? "," is_haml? "," ivar ", "keys", "kind_of?", "lastsave", "lindex", "linsert", "llen", "load", "load_dependency", "lpop", "lpush", "lpushx", "lrange","lrem", "lset", "ltrim", "mapped_hmget", "mapped_hmset", "mapped_mget", "mapped_mset", "mapped_msetnx", "method", "method_exists?", "method_missing", "method", "mget "," mocha "," mocha_inspect "," mon_enter "," mon_exit "," mon_synchronize "," mon_try_enter "," monitor "," move "," mset "," msetnx "," multi "," new_cond ", "nil?", "object_id", "persist", "ping", "pipelined", "sence "," present? "," private_methods "," protected_methods "," psubscribe "," public_methods "," publish ", "punsubscribe", "quit", "randomkey", "rename", "renamenx", "require", "require_association", "require_dependency", "require_library_or_gem", "require_or_load", "reset_mocha", "response_tо? "," возвращение "," rpop "," rpoplpush "," rpush "," rpushx "," sadd "," save "," scard "," sdiff "," sdiffstore "," select "," send"," set "," setbit "," setex "," setnx "," setrange "," shutdown "," silence_stderr "," silence_stream "," silence_warnings "," singleton_class "," singleton_methods "," sinter ","sinterstore", "sismember", "slaveof", "smembers", "smove", "sort", "spop", "srandmember", "srem", "strlen", "stubba_method", "stubba_object", "stubs"," подписаться "," подписан? "," substr "," sunion "," sunionstore "," suppress "," suppress_warnings "," sync "," synchronize "," taguri "," taguri = "," taint"," tainted? "," tap "," to_a "," to_enum "," to_json "," to_matcher "," to_param "," to_query "," to_s "," to_yaml "," to_yaml_properties "," to_yaml_style ", "try", "try_mon_enter", "ttl", "type", "unloadable", "unstub", "unsubscribe", "untaint", "unwatch", "watch", "with_options", "with_warnings", "less_reconnect "," Zadd "," ZCard "," ZCount "," Zincrby "," Zinterstore "," Zrange "," Zrangebyscore "," Zrank "," Zrem "," Zremrangebyrank "," zremrangebyscore "," zrevrange "," zrevrangebyscore "," zrevrank "," zscore "," zunionstore "]