Redis获取列表的所有值,没有迭代,也没有popup

我有简单的redis列表键=>“supplier_id”

现在我想要它检索列表的所有值,而不实际迭代或popup列表中的值

从列表中检索所有值的示例现在我已经遍历了redis的长度

element = [] 0.upto(redis.llen("supplier_id")-1) do |index| element << redis.lindex("supplier_id",index) end 

如果没有更好的redisbuild模迭代 perhap可以做到这一点。 谁能build议

要使用Redis检索列表中的所有项目,您不需要迭代和获取每个单独的项目。 这将是非常低效的。

您只需使用LRANGE命令即可一次性检索所有项目。

 elements = redis.lrange( "supplier_id", 0, -1 ) 

将返回列表中的所有项目,而不更改列表本身。

我有点不清楚你的问题,但如果supplier_id是数字,为什么不使用ZSET

像这样添加你的值:

 ZADD suppliers 1 "data for supplier 1" ZADD suppliers 2 "data for supplier 2" ZADD suppliers 3 "data for supplier 3" 

然后,您可以删除一切(但不包括供应商三)像这样:

 ZREMRANGEBYSCORE suppliers -inf 2 

要么

 ZREMRANGEBYSCORE suppliers -inf (3 

如果你只是想读取它,这也给你非常快的访问(由供应商ID)。

希望有所帮助!