Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ruby中检索Redis列表值的最佳方法?_Ruby_Redis - Fatal编程技术网

在Ruby中检索Redis列表值的最佳方法?

在Ruby中检索Redis列表值的最佳方法?,ruby,redis,Ruby,Redis,当列表中的值是相对较大的序列化Ruby对象时,最常用的方法是检索这些值 例如: 我在Redis列表中有5000个值 列表中的每个值都包含一个序列化为字符串的50K Ruby对象 我需要在Ruby中迭代所有这些值,是否更适合: 使用lrange在一次行程中获取所有值,然后在Ruby中迭代它们 使用llen对列表中的值进行计数,然后在Ruby中使用lindex循环检索每个值,作为到Redis的单独行程 我得说,这没什么区别。选择一个更容易为您编码的。使用LRANGE获得的任何速度都将取决于传输大

当列表中的值是相对较大的序列化Ruby对象时,最常用的方法是检索这些值

例如:

  • 我在Redis列表中有5000个值
  • 列表中的每个值都包含一个序列化为字符串的50K Ruby对象
我需要在Ruby中迭代所有这些值,是否更适合:

  • 使用
    lrange
    在一次行程中获取所有值,然后在Ruby中迭代它们
  • 使用
    llen
    对列表中的值进行计数,然后在Ruby中使用
    lindex
    循环检索每个值,作为到Redis的单独行程

  • 我得说,这没什么区别。选择一个更容易为您编码的。使用LRANGE获得的任何速度都将取决于传输大型对象所需的时间。我可能会一个接一个地处理它们,这样它会占用更少的内存。

    我会说,这没有什么区别。选择一个更容易为您编码的。使用LRANGE获得的任何速度都将取决于传输大型对象所需的时间。我可能会一个接一个地处理它们,这样它使用更少的内存