在Ruby on Rails应用程序中使用Redis上的hkeys查找

时间:2018-01-31 19:16:20

标签: ruby-on-rails ruby redis

我需要在带有redis的rails上执行类似find_each的操作。

我需要举例说明,限制为100个注册表的值,当我通过分页2时,我会得到其他100个注册表。

我在rails中使用HKEYS方法获取值...

Model.redis.hkeys(:keysofvalues)

我看到了redis文档,但我没有发现它是如何工作的。

谢谢!

2 个答案:

答案 0 :(得分:0)

取自Redis HKEYS command

  

返回存储在key中的哈希中的所有字段名称。

所以Redis本身并不支持分页。

您可以使用Kaminari手动从redis和paginate获取密钥。看看这个How do I paginate an Array?

答案 1 :(得分:0)

的Redis'散列数据类型不适合具有许多键/值对的数据,您希望对它们进行分页,这就是没有允许分页的功能的原因。 (Redis往往会让你很难在脚下射击。)

如果您需要分页,则可能需要使用列表,这样可以访问 O(N)复杂度的任何位置的元素。