Redis-rb клиентская очередь - PullRequest
1 голос
/ 12 января 2012

Я собираюсь использовать эту клиентскую библиотеку: https://github.com/ezmobius/redis-rb

На странице github ничего не говорится об очередях. Это поведение по умолчанию? Когда я добавляю ключ / значение в красный цвет, автоматически ли он использует очередь данных?

Кроме того, в Redis есть BLPOP и BRPOP, которые позволяют блокировать, пока в очереди не появится новое значение. Это доступно в Redis-RB? Если нет, то есть ли библиотека, в которой я могу использовать эту поддержку?

Ответы [ 3 ]

1 голос
/ 19 июня 2012

Да, гем полностью поддерживает все, что может предложить Redis.

Проверьте, например, документацию по BLPOP .

Также есть этот пример по работе со списками .

0 голосов
/ 18 марта 2013

Я использую массив, который кодируется и анализируется в JSON:

begin
  queue = JSON.parse( REDIS.get(:some_queue) )
  item = queue.shift
  REDIS.set(:some_queue,queue.to_json)
  Do::Work.new(item)
rescue #just in case it fails
  queue = JSON.parse( REDIS.get(:lots_queue) )
  queue.prepend(id)
  REDIS.set(:lots_queue,queue.to_json)
end
0 голосов
/ 12 января 2012

Конечно, 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 "]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...