Ruby redisrb客户端队列

Ruby redisrb客户端队列,ruby,redis,Ruby,Redis,我将使用此客户端库: 在github页面中,它没有提到任何关于队列的内容。这是默认行为吗?当我向red is添加一个键/值时,它会自动使用队列数据结构吗 此外,redis具有BLPOP和BRPOP,允许您阻止,直到队列中出现新值。这在redis rb中可用吗?如果没有,是否有我可以使用的支持库?当然,redis rb支持您要求的所有功能。(BLPOP/BRPOP/LPUSH/LPOP) ree-1.8.7-2011.03:001>REDIS.methods.sort =>[“==”、“==”、“

我将使用此客户端库:

在github页面中,它没有提到任何关于队列的内容。这是默认行为吗?当我向red is添加一个键/值时,它会自动使用队列数据结构吗


此外,redis具有BLPOP和BRPOP,允许您阻止,直到队列中出现新值。这在redis rb中可用吗?如果没有,是否有我可以使用的支持库?

当然,redis rb支持您要求的所有功能。(BLPOP/BRPOP/LPUSH/LPOP)

ree-1.8.7-2011.03:001>REDIS.methods.sort

=>[“==”、“==”、“==”、“[…”、“[]=”、“id”、“是””、“元类”、“发送”、“`”、“行为类似”、“附加”、“作为json”、“身份验证”、“B64编码”、“BG重写AOF”、“bgsave”、“空白”、“blpop”、“断点”、“brpop”、“BRPOPP”、“BRPOPP”、“类”、“类评估”、“客户端”、“克隆”、“配置”,“复制”“实例”“变量”“从”“dbsize”“debug”“debug”“decode64”“decode”“b”“decr”“decrby”“del”“discard”“display”“dou”“dou”“dou”“not”“dup”“duplicable?”、“echo”“enable”“warnings”“encode64”“enum”“for”“eql?”、“equal?”、“exec”“exists”“expire”“expireat”“extend”“flushall”“flushdb”“freeze”“freezed?”,”gem、get、getbit、getrange、getset、hash、hdel、Hexist、hget、hgetall、hincrby、hkeys、hlen、hmget、hmset、hset、hsetnx、html\U safe?、“hvals”、“id”、“incr”、“incrby”、“info”、“inspect”、“instance\u eval”、“instance\u exec”、“instance\u of?”、“instance\u values”、“instance\u variable\u defined?”、“instance\u variable\u get”、“instance\u variable\实例变量名称、实例变量集、实例变量集、is_a?、is_haml?、ivar、keys、kind of?、lastsave、lindex、linsert、llen、load、load、load依赖关系、lpop、lpush、lpushx、lrange、lrem、lset、ltrim、mapped_hmget、mapped_hmset、mapped_mget、mapped_mset、mapped_mset、mapped_msetnx、method“方法存在?、“方法丢失”、“方法”、“mget”、“mocha”、“mocha\u检查”、“mon\u进入”、“mon\u退出”、“mon\u同步”、“mon\u尝试进入”、“监视”、“移动”、“mset”、“msetnx”、“多”、“新秒”、“零?”、“对象id”、“持久化”、“ping”、“流水线”、“存在”、“存在?”、“私有\u方法”、“受保护的\u方法”、“psubscribe”、“公共\u方法”、““发布”、“punsubscribe”、“quit”、“randomkey”、“rename”、“renamenx”、“require”、“require\u association”、“require\u dependency”、“require\u library\u或gem”、“require\u或加载”、“reset\u mocha”、“respond\u to?”、“returning”、“rpop”、“rpoplpush”、“rpushx”、“sadd”、“save”、“scard”、“sdiff”、“sdiffstore”、“select”、“send”、“set”、“setbit”、“setex”、”setnx、setrange、shutdown、silence\u stderr、silence\u stream、silence\u warnings、singleton\u class、singleton\u methods、sinter、sinterstore、sismember、slaveof、smembers、smove、sort、spop、srandmember、srem、strlen、stubba\u方法、stubba\u对象、stubs、subscribe、subscribed?、substr、sunion、“sunionstore、suppress、suppress、suppress\u warnings、sync、synchronize、taguri、taguri=“、”taint”、“taguri?”、”tap”、“to_a”、“to_enum”、“to_json”、“to_matcher”、“to_param”、“to_query”、“to_s”、“to_yaml”、“to_yaml_属性”、“to_yaml_风格”、“try”、“try”、“try_mon_enter”、“ttl”、“type”、“Unadable”、“unsubscribe”、“Unstable”、“Unstable”、“unsubscribe”、“untaint”、“Untatch”、““监视”、“有选项”、“有警告”、“无重新连接”、“zadd”、“zcard”、“zcount”、“zincrby”、“ZnterStore”、“zrange”、“zrangebyscore”、“zrank”、“zremrangebyrank”、“zremrangebyscore”、“zremrangebyscore”、“zrevrangebyscore”、“zrevrank”、“Zcore”、“zunionstore”]


当然,RedisRB支持您所要求的一切

ree-1.8.7-2011.03:001>REDIS.methods.sort

=>[“==”、“==”、“==”、“[…”、“[]=”、“id”、“是一个”、“元类”、“发送”、“`”、“行为类似?”、“附加”、“作为json”、“身份验证”、“B64编码”、“BGAOF重写”、“bgsave”、“空白”、“blpop”、“断点”、“brpop”、“BRPOPP”、“BRPOPP”、“类”、“类评估”、“客户端”、“克隆”、“配置”、”从以下位置复制实例变量:“dbsize”、“debug”、“debug”、“debugger”、“decode64”、“decode\u b”、“decr”、“decrby”、“del”、“discard”、“display”、“do\u or\u do\u not”、“dup”、“dup”、“duplicable?”、“echo”、“enable\u warnings”、“encode64”、“enum\u for”、“eql?”、“equal?”、“exec”、“exists”、“expire”、“expireat”、“extend”、“flushall”、“flushdb”、“freeze”、“freezed?”、“gem?”“,”get“,”getbit“,”getrange“,”getset“,”hash“,”hdel“,”Hexist“,”hget“,”hget“,”hget“,”hget“,”hget“,”hget“,”hRange“,”hget“,”hget“,”hget“,”hget“,”hget“,”hget“,”hget“,”hget“,”hget“,”hget“,”hget“,”hget“,”hget“,”hget“,”hget,“实例变量名称”、“实例变量集”、“实例变量集”、“is_a?”、“is_haml?”、“ivar”、“键”、“种类”、“lastsave”、“lindex”、“linsert”、“llen”、“load”、“load”、“load_dependency”、“lpop”、“lpush”、“lpushx”、“lrange”、“lrem”、“lset”、“ltrim”、“mapped_hmset”、“mapped_mget”、“mapped_mset”、“mapped_mset”、“mapped_msetnx”、“method”、“method””方法存在?、“方法丢失”、“方法”、“mget”、“mocha”、“mocha\u检查”、“mon\u进入”、“mon\u退出”、“mon\u同步”、“mon\u尝试进入”、“监视”、“移动”、“mset”、“msetnx”、“多”、“新秒”、“零?”、“对象id”、“持久化”、“ping”、“流水线”、“存在”、“存在?”、“私有\u方法”、“受保护的\u方法”、“psubscribe”、“公共\u方法”、““发布”、“punsubscribe”、“quit”、“randomkey”、“rename”、“renamenx”、“require”、“require\u association”、“require\u dependency”、“require\u library\u或gem”、“require\u或加载”、“reset\u mocha”、“respond\u to?”、“returning”、“rpop”、“rpoplpush”、“rpushx”、“sadd”、“save”、“scard”、“sdiff”、“sdiffstore”、“select”、“send”、“set”、“setbit”、“setex”、”setnx、setrange、shutdown、silence\u stderr、silence\u stream、silence\u warnings、singleton\u类、singleton\u方法、sinter、sinterstore、sismember、slaveof、sme
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