1

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

例如:

  • 我在 Redis 列表中有 5000 个值
  • 列表中的每个值都包含一个序列化为字符串的 50K Ruby 对象

我需要遍历 Ruby 中的所有这些值,是否更高效:

  1. 用于lrange一次获取所有值,然后在 Ruby 中遍历它们
  2. 用于llen计算列表中的值,然后在 Ruby 中循环使用lindex以检索每个值作为对 Redis 的单独访问
4

1 回答 1

1

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

于 2012-07-26T14:08:37.920 回答