当前位置: 首页 > 面试题库 >

Redis将获取列表的所有值,而无需迭代和弹出

陆甫
2023-03-14
问题内容

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

现在,我只需要它检索列表的所有值,而无需实际遍历列表或从列表中弹出该值

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

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

没有迭代的情况下 可以通过更好的redis建模来完成这件事吗?谁能建议


问题答案:

要使用Redis检索列表中的所有项目,则无需迭代和获取每个单独的项目。这确实是低效的。

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

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

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



 类似资料:
  • 我正在尝试使用列表迭代器来遍历一个链表,并根据存储在那里的整数值对下一个节点进行一些操作/检查,但我的代码中出现了一些错误。我想我不明白iterator.next()正在返回什么(一些E对象,但我不知道如何从它中访问我想要的值)编辑器希望我做一些如下所述的转换。它摆脱了错误,但我不知道这是否是处理问题的安全方法,或者它是否具有我正在寻找的行为。请解释为什么我会得到错误,以及是否有一个好的方法来处理

  • 问题内容: 我将数据存储在Redis中。我将它存储在GUID,createday和它的大小中。 因此,我定义以下内容: 我希望查看我的数据库中的所有文件。因此,我尝试以下操作: 但是res是。我该怎么做? 问题答案: 返回存储在key处的哈希的所有字段和值,您不能指定掩码: http //redis.io/commands/hgetall 您可以调用获取符合条件的所有键的列表,然后循环获取所有值。

  • 问题内容: 我有大约350,000个密钥的数据库。目前,我的代码只是循环遍历所有键,并从db获取其值。 但是,这花费了将近2分钟的时间,这似乎确实很慢,达到了10万次请求/ 3秒。 我已经研究过流水线技术,但是我需要返回每个值,以便最终得到键值对的字典。 目前,我正在考虑在代码中使用线程来加快速度,这是处理此用例的最佳方法吗? 这是我到目前为止的代码。 问题答案: 首先,最快的方法是在EVAL中完

  • 我有一个具有3个属性的类: 此类的项目将添加到列表中<代码>列表 我想在列表中找到一个指定价格的对象。但大小和类型并不重要。我可以这样做吗:

  • 我有一个FutureBuilder(很高兴加载)从Firebase获取我的DocumentSnapshot列表,但问题是如果我推送/弹出屏幕,它会一遍又一遍地重建它。为了解决这个问题,我最终将它放在了上,但我有一个问题,我有时无法从中获取所有文档。 我有一个按钮可以启用国家/地区筛选和禁用,每次按下它几乎都会立即显示我的文档,例如,我总共筛选了11个国家/地区,筛选了5个国家/地区,但有时我不会全

  • 问题内容: 可能吗? 说你有 并且是“迈克”,“约翰”,“卡伦”。 是否可以不经过迭代就返回“约翰”的索引是“ 1”? 以下工作正常..与此问题,我想知道是否有更好的方法 问题答案: 该接口并没有像作为一种方法。您确实需要对其进行迭代或使用提供方法的接口代替。 如果你想,转换到是很琐碎,它应该是传递的问题通过的构造函数执行。例如